質問するログイン新規登録

回答編集履歴

1

追記

2017/02/14 02:26

投稿

ozwk
ozwk

スコア13553

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等に変換するとだいたい誤差が出ます。