1: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:08:33.40 ID:CCwlASUF0.net
Java「0.1+0.2=0.30000000000000004です」

キチガイかこいつ



2: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:08:57.10 ID:m3DnQU5ua.net
こま?

3: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:09:02.22 ID:isek8peH0.net
0.1じゃないからしゃーない

4: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:09:03.73 ID:DXYeo7Nl0.net
はえープログラムの人ってちょっと変



 【事前予約】ダービースタリオンマスターズ





6: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:09:36.38 ID:qwBkuMha0.net
ほーん
コンピュータの人間超えはなさそうやね

10: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:10:44.69 ID:KocNo+8R0.net
>>6
プログラムやぞ?

13: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:11:20.65 ID:4puwb8GM0.net
>>6
はえーなんでコンピュータの話になるんやろか

7: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:10:04.26 ID:Hcl4umo/a.net
どうしてそうなるんや

12: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:10:58.50 ID:isek8peH0.net
>>7
0.1とかも0.1に近い近似であって0.1ではないから

16: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:12:29.77 ID:Jr7gFHjO0.net
>>12
丸が四角の塊みたいなもんか

21: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:13:48.26 ID:Hcl4umo/a.net
>>12
はえ〜なるほど
つまり現代のコンピューターの性質で、数値を2進数、つまり2の階乗の和で表現しようとするためです。

例えば0.5は簡単ですね。2-1です。また0.25は2-2ですから、0.75は2-1+2-2という事になります。

ちなみにJavaScriptで階乗を扱う場合はMath.pow()です。

1
console.log(Math.pow(2, -1)); // => 0.5
2
console.log(Math.pow(2, -2)); // => 0.25
3
console.log(Math.pow(2, -1) + Math.pow(2, -2)); // => 0.75
それでは0.1はどう表せば良いでしょうか?

1
console.log(0.1.toString(2)); // => "0.0001100110011001100110011001100110011001100110011001101"
おわかり頂けるでしょうか、これ、循環小数になります。10進数でいうところの1/3 = 0.33333333…みたいなやつです。

ですので、0.1は2進数の世界に生きるコンピューターでは正確に扱う事ができません。なので近似値で扱うのですが、実際の数値とはちょっとだけずれているので、計算を行うと変な結果になってしまったりするわけなんやな

24: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:14:18.05 ID:IDlvf2i2a.net
>>21
そのまま引用ニキ

26: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:15:29.19 ID:YMpwzU77d.net
>>21

14: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:11:21.77 ID:UDKA8MJF0.net
javascript:alert(0.1+0.2)

↑をコピーしてIEとかのアドレスバーに張り付けてエンター

17: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:12:40.60 ID:wZT9B7N90.net
浮動小数点演算について勉強するといいよ

19: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:13:19.28 ID:xIaCm6Vu0.net
javaとjavascriptは別人

20: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:13:45.02 ID:abJYhnPz0.net
2進数やとこうなるCOBOLは10進数やから銀行で使われる

25: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:14:24.08 ID:XGk7vlL60.net
2進数最大の弱点

29: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:17:09.30 ID:Hcl4umo/a.net
はえ〜COBOLって10進数なんや
昔見た教科書にはCOBOLは数字に強いから銀行に使われるくらいの説明しか書いてなかったけどその説明も欲しかったなあ

30: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:17:28.90 ID:TyPQIDIr0.net
全然知らんけどコンピュータに10進法使わせたら問題解決するんちゃうの?

32: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:18:57.55 ID:KocNo+8R0.net
>>30
そこはプログラマーの腕の見せどころ

31: 風吹けば名無し@\(^o^)/ 2016/09/27(火) 03:17:55.23 ID:abJYhnPz0.net
どうしても計算したいなら整数にしてから少数にするといお




 【事前予約】全てのRPGファンへ贈る圧倒的クオリティ
おすすめ 


引用元: http://tomcat.2ch.sc/test/read.cgi/livejupiter/1474913313/