[討論] 判斷式很奇怪

看板MATLAB作者 (小莊)時間12年前 (2013/03/28 13:22), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
我學弟修課寫MATLAB碰到一個問題我也解不出 Ftbr = 0.28; precision = 10000; if 5600>=((Ftbr)*precision)/0.5 ...... end 然後程式跳不進if裡面 PS:0.28*10000/0.5=5600 感謝各位大大~ -- 第一話:似乎在哪篇PAPER見過的樣子 第二話:那真是太令人高興了 第三話:已經沒甚麼好害怕了(斷頭 第四話:研究、畢業,都是存在的 第五話:怎麼可能會後悔呢 第六話:這種事絕對很奇怪啊 第七話:你能創造真正的論文嗎? 第八話:我,真是個笨蛋 第九話:那樣的事,老師都丟給學生做 第十話:再也不依靠任何人了 第十一話:最後留下的研究生 第十二話:我最要好的畢業證書... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.48.70

03/28 21:25, , 1F
布林判斷這個5600>=((Ftbr)*precision)/0.5是0
03/28 21:25, 1F

03/28 23:18, , 2F
浮點數問題 ((Ftbr)*precision)/0.5 = 5.600000000000001e+03
03/28 23:18, 2F
這不太合理吧? 因為數學直接算是沒有任何小數點的阿? ※ 編輯: mark643kimo 來自: 123.193.20.26 (03/28 23:36)

03/29 00:15, , 3F
你把 F*p/0.5 - 5600 就知到了。
03/29 00:15, 3F

03/29 00:20, , 4F
先去了解電腦是怎麼儲存浮點數
03/29 00:20, 4F
所以是因為儲存0.28用的浮點數 了解了,感謝~ ※ 編輯: mark643kimo 來自: 123.193.20.26 (03/29 00:57)
文章代碼(AID): #1HL4Fvdb (MATLAB)