[討論] 0.6/0.2不是3?

作者: A83X8CJ8 (Elca)   2015-11-07 16:54:17
大家好
我剛開始接觸Matlab
最近寫程式的時候
發現floor(0.6/0.2) = 2 這個神奇的bug....
(好像不只0.6/0.2 還有其他的也會)
上網找沒找到類似的討論
請問有人知道原因嗎?
作者: celestialgod (天)   2015-11-07 17:02:00
rounding erro吧error
作者: Steven0422 (Steven)   2015-11-07 17:27:00
這年頭 user只會亂說有bug
作者: A83X8CJ8 (Elca)   2015-11-07 18:01:00
對我來說算是bug呀 因為這個error讓程式跑出bug
作者: linux5566 (linux56)   2015-11-07 18:52:00
作者: mailroach   2015-11-08 07:18:00
加個eps不就好了
作者: rex0707 (我就是我)   2015-11-08 13:51:00
floor.....
作者: rtj (Anonymity)   2015-11-10 22:28:00
round(0.6/0.2)就等於3floor((0.6/0.2)*10000000.0)=29999999,可見內部運算上誤差
作者: A83X8CJ8 (Elca)   2015-11-10 23:18:00
謝謝各位大大的解釋 我又學到了幾種方法避開這個問題了

Links booklink

Contact Us: admin [ a t ] ucptt.com