1より小さい数を含む二進数表現

215214 213212 211210 2928 2726 2524 2322 2120
00 00 00 00 00 00 00 00
3276816384 81924096 20481024 512256 12864 3216 84 21
十進表記 0

2nの値でnが負の数の場合

1に2を次々にかけた、1, 2, 4, 8, 16,... を逆にたどっていくと、16, 8, 4, 2, 1, で次々に2で割っていることになります。さらにこれをつづけると、1/2, 1/4, 1/8, 1/16,...となっていきます。これが 2-nの値です。

2-nの値を10進の小数で表すと次のようになっています。整数より複雑です。

十進分数 二進表現 十進表現
2-11
2
0.10.5
2-21
4
0.010.25
2-31
8
0.0010.125
2-41
16
0.00010.0625
2-51
32
0.000010.03125
2-61
64
0.0000010.015265
2-71
128
0.00000010.0078125
2-81
256
0.000000010.00390625

十進表記で見慣れた小数も二進表記ではその多くが循環小数になり有限桁では正確に表せません。

十進表現 二進表現
0.10.000110011001100…
0.20.001100110011001…
0.30.010011001100110…
0.40.011001100110011…
0.50.1
0.60.100110011001100…
0.70.101100110011001…
0.80.110011001100110…
0.90.111001100110011…

二進でも十進でも循環小数を有限桁で表現しようとすると不正確になるのは同じです。しかし十進の小数を二進で表現すると循環小数になることが多いということは、コンピュータに値を入力した段階から正確な値を入れたことになっていないということは、知っているべきかもしれません。

聖愛中学高等学校
http://www.seiai.ed.jp/
May. 2013 作成