回答編集履歴

1

追記

2017/02/14 02:26

投稿

ozwk
ozwk

スコア13521

test CHANGED
@@ -11,3 +11,25 @@
11
11
  0.01は2進数で`0 . 0000 0010 1000 1111 0101 1100 0010 1000 1111 0101 1100 0010 1000 1111 ...`
12
12
 
13
13
  0.9は2進数で`0 . 1110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110...`
14
+
15
+
16
+
17
+ なお、
18
+
19
+ 2^-1 = 0.5
20
+
21
+ 2^-2 = 0.25
22
+
23
+ 2^-3 = 0.125
24
+
25
+ 2^-4 = 0.0625
26
+
27
+ ...
28
+
29
+ と、一桁ずれて末尾5と言うパターンなので、
30
+
31
+ 10進数表記で5で終わらない小数は2進数だと循環小数になります。
32
+
33
+ 終わっても循環小数になるものもあります。
34
+
35
+ なので10進表記の小数をFloat等に変換するとだいたい誤差が出ます。