数学U いろいろな関数

2の累乗

常用対数の計算は,高級電卓の普及などの理由によって実用上の役割はほとんどなくなり, 教科書でも簡単に触れるだけになった. しかし,数学的に興味深くかつ対数の理解に役立つ話題がある.
コンピュータが扱う標準的な整数型のデータは32ビット,すなわち2進法32桁で表される. 符号なし整数の場合で 0〜232−1, 符号つき整数の場合で −231〜231−1 の数を表す.
32は(10進法で表すと)何桁か,また最高位の数字は何か.
自然数xがn桁の数で最高位の数字がaであるということを不等式で表すと,
a0000…(0がn−1個)≦x≦a9999…(9がn−1個)
となり,これを同値変形していくと
a×10n-1≦x<(a+1)×10n-1
log(a×10n-1)≦logx<log((a+1)×10n-1)
n−1+loga≦logx<n−1+log(a+1)
ゆえに
n=(logxの整数部分)+1
loga≦(logxの小数部分)<log(a+1)
x=232 とすると
logx=32log2=32×0.3010=9.6320
n=9+1=10
log4=0.6020≦0.6320<0.6990=log5 より a=4
したがって,232 は 4*********(40億強)であることがわかる.
(正確な値は 4294967296.)
logaの値 (小数第5位四捨五入)
loga
0.0000
0.3010
0.4771
0.6021
0.6990
0.7782
0.8451
0.9031
0.9542
10 1.0000
2の累乗 2k(k=0,1,2,3,…)の最高位の数字を見ると, 1,2,4,8,1,3,6,1,2,5 が周期的に現れるように見える. これは,210=1024 が10の累乗に近いために起きている現象で, この周期が永久に続くわけではなく,いつか7や9も現れる.
2の累乗 2k の最高位の数字が7になる最小のkはいくつか.
前問の考察から,次の不等式を満たす最小のkを求めればよい.
log7≦(klog2の小数部分)<log8
0.8451≦(0.3010×kの小数部分)<0.9031
kを2桁の数 ab (aが十の位,bが一の位)とする.
小数第1位が8になることからbは6である.
小数部分は 0.8a60 となるので,ab=46 が最小のkである.
たしかに 246 は7で始まる最小の2の累乗である.
では2の累乗 2k の最高位の数字が9になる最小のkはいくつか.
同様に考える.
log9≦(klog2の小数部分)<log10
0.9542≦(0.3010×kの小数部分)<1.0000
小数第1位が9になることからbは3である.
小数部分は 0.9a30 となるので,ab=63 が最小のkである.
ところが,9で始まる最小の2の累乗は253である.
最小のkが63であると導いた上の論法のどこが間違っているのか.
0.3010×53=15.9530 の小数部分は 0.9530>0.9542=log9 だから, 253 の最高位の数字は8ではないのか.
log2=0.3010 は小数第5位を四捨五入した近似値である. 正確には=でなくて次の範囲にあることを示している.
0.30095≦log2<0.30105
log4=0.6021 より,この範囲はもっとせばめることができる.
0.60205≦log4=2log2<0.60215
0.301025≦log2<0.30105
log9=0.9542 も次の範囲にあることを示している.
0.95415≦log9<0.95425
これから253 の最高位の数字が9であることがわかる.
53log2≧0.301025×53=15.954325
(53log2の小数部分)>0.95425>log9
2の累乗
k
1
2
4
8
16
32
64
128
256
512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536
17 131072
18 262144
19 524288
20 1048576
21 2097152
22 4194304
23 8388608
24 16777216
25 33554432
26 67108864
27 134217728
28 268435456
29 536870912
30 1073741824
このように,近似値は扱いを誤ると間違った結果を導くおそれがある. 問題の作成には十分な注意をはらわないといけない. また,近似値,有効数字,誤差の範囲について数学のどこかの時間で解説してほしい. 通常コンピュータの内部表現は2進法を用いているので,0.1 さえも正確な値ではなく近似値で表されている. 大量の計算をすると誤差が蓄積されて思わぬ結果を導き出すことがある.