回答編集履歴

1

誤りを訂正

2020/06/06 17:43

投稿

ikadzuchi
ikadzuchi

スコア3047

test CHANGED
@@ -1,7 +1,31 @@
1
1
  それはあなたが思っているような四捨五入ではありません。
2
2
 
3
- 0.005は2進数では正確に表せず、0.005よりわずかに大きい数になります。
3
+ ~~0.005は2進数では正確に表せず、0.005よりわずかに大きい数になります。~~
4
4
 
5
- 9.789999999999999に0.005よりわずかに大きい数を足して9.795になるのは不思議はありません。
5
+ ~~9.789999999999999に0.005よりわずかに大きい数を足して9.795になるのは不思議はありません。~~
6
6
 
7
- またそもそも「9.789999999999999」などのような数は環境によって表示が変わってもおかしくなく、正しい0.005が足せたとしても10進数表記で見て正確な結果になるとは限りません。
7
+ ~~また~~そもそも「9.789999999999999」などのような数は環境によって表示が変わってもおかしくなく、正しい0.005が足せたとしても10進数表記で見て正確な結果になるとは限りません。
8
+
9
+
10
+
11
+ ---
12
+
13
+
14
+
15
+ 【訂正】
16
+
17
+ すいません。論理展開に誤りがありました。
18
+
19
+ 0.005が(doubleで)0.005よりわずかに大きい数になるのは事実ですが、これを9.7899(略)に足したところで「わずかに大きい」部分は有効数字の外なので、9.795になるか否かとは無関係でした。
20
+
21
+
22
+
23
+ 正しくは、
24
+
25
+ 「9.7899(略)に正確な0.005を足したものに最も近いdouble値」と9.7899(略)の差が、0.005よりわずかに大きい
26
+
27
+ です。
28
+
29
+
30
+
31
+ 9.7899(略)に0.005よりわずかに小さい値を足しても同様に9.795になるはずです。