ValLaboratory / dokushokai

社内読書会リポジトリです
4 stars 0 forks source link

2015-11-04 Aグループ #200

Open takashiyamazaki opened 9 years ago

takashiyamazaki commented 9 years ago

山崎、添田、廣戸

takashiyamazaki commented 9 years ago

プログラミングにどう生きるのか?

takashiyamazaki commented 9 years ago

なんで1にならないんだっけ?

takashiyamazaki commented 9 years ago

3.1999998はどこで切り捨ててるのか?

takashiyamazaki commented 9 years ago
irb(main):001:0> f = 0.00001
=> 1.0e-05
irb(main):002:0> f.to_i
=> 0
irb(main):003:0>
takashiyamazaki commented 9 years ago

ネットワーク環境がうまくいきません

soe-j commented 9 years ago

正確さを取るか、より多くの数を表現する方を取るか (固定小数点、浮動小数点)

takashiyamazaki commented 9 years ago
irb(main):009:0> i = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 0.7
irb(main):006:0> i = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 0.8999999999999999
irb(main):007:0> i = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 0.9999999999999999
irb(main):011:0> i = (0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1).to_i
=> 0
hirotyobi-val commented 9 years ago

screenmemo_2015-11-04-16-11-08

takashiyamazaki commented 9 years ago
irb(main):012:0> 0.1 * 10
=> 1.0

なんでだっけ?

hirotyobi-val commented 9 years ago
irb(main):003:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 2.0000000000000004
soe-j commented 9 years ago

javascript(chrome)も

> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
< 0.9999999999999999
hirotyobi-val commented 9 years ago
irb(main):004:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.9000000000000006
irb(main):005:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.8000000000000005
irb(main):006:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.7000000000000004
irb(main):007:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.6000000000000003
irb(main):008:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.5000000000000002
irb(main):009:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.4000000000000001
irb(main):010:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.3
irb(main):011:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.2
irb(main):012:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 1.0999999999999999
irb(main):013:0> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
=> 0.9999999999999999
hirotyobi-val commented 9 years ago

0.2どんどん足してくやつだとまた違った結果に

soe-j commented 9 years ago

js(chrome)

> parseInt(0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1)
< 0
takashiyamazaki commented 9 years ago

浮動小数点誤差対策 : http://doruby.kbmj.com/note/20150209/1

hirotyobi-val commented 9 years ago

浮動小数点は上にずれることも下にずれることもあるのが対応難しい…

takashiyamazaki commented 9 years ago

[Ruby]消費税計算にはBigDecimalを使いましょう - Qiita : http://qiita.com/jnchito/items/d0ef71b25732ad5a881c

soe-j commented 9 years ago

HTMLの座標をJavascriptで計算したりすると、ずれちゃうことある ページスクロールをJSでやったときとか、位置がずれて気になる

takashiyamazaki commented 9 years ago

スプレッドシート =CEILING(1800*1.08) 1944

hirotyobi-val commented 9 years ago
irb(main):031:0> 0.001 * 100
=> 0.1
irb(main):032:0> 0.011 * 100
=> 1.0999999999999999
irb(main):035:0> 1.1 * 100
=> 110.00000000000001
hirotyobi-val commented 9 years ago

ssuzukiさん「浮動小数点で==とかやっても合わない」

hirotyobi-val commented 9 years ago
irb(main):036:0> 1.1 * 10 == 11.0
=> true
irb(main):037:0> 1.1 * 100 == 110.0
=> false
hirotyobi-val commented 9 years ago

「駅すぱあとの経路探索は整数だけ使えば良いので大丈夫です」キリッ

hirotyobi-val commented 9 years ago

あー緯度経度