回答編集履歴
1
追記
answer
CHANGED
@@ -4,4 +4,15 @@
|
|
4
4
|
|
5
5
|
例えば
|
6
6
|
0.01は2進数で`0 . 0000 0010 1000 1111 0101 1100 0010 1000 1111 0101 1100 0010 1000 1111 ...`
|
7
|
-
0.9は2進数で`0 . 1110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110...`
|
7
|
+
0.9は2進数で`0 . 1110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110...`
|
8
|
+
|
9
|
+
なお、
|
10
|
+
2^-1 = 0.5
|
11
|
+
2^-2 = 0.25
|
12
|
+
2^-3 = 0.125
|
13
|
+
2^-4 = 0.0625
|
14
|
+
...
|
15
|
+
と、一桁ずれて末尾5と言うパターンなので、
|
16
|
+
10進数表記で5で終わらない小数は2進数だと循環小数になります。
|
17
|
+
終わっても循環小数になるものもあります。
|
18
|
+
なので10進表記の小数をFloat等に変換するとだいたい誤差が出ます。
|