看板 b99902HW 關於我們 聯絡資訊
在做這禮拜計程作業的時候我碰到了一個大麻煩 n = (int)pow(10,2) n print出來會是99 有人知道為什麼的可以救救我嗎Orz... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.73.103.249
LPH66:整數次方請自己寫 for 乘 否則會被浮點數精確度整到 10/10 11:21
LPH66:記得使用浮點數及其相關函式請一定記得浮點數精確度誤差 10/10 11:22
bztfir: 這是啥?^^^^^^^^^^^^^^^^ 10/10 11:23
s864372002:(int) (pow(10,2) + 1e-9) 試試看:) 10/10 11:24
s864372002:就是99.99999999999999會被無條件捨去到99 10/10 11:24
s864372002:浮點數沒辦法完全精確地表示出所有數字,會有誤差。 10/10 11:27
LPH66:學弟們有空的話可以看看這篇 http://0rz.tw/3450A 10/10 11:28
LPH66:我是忘記現在計概會不會教 IEEE754 了啦... 10/10 11:29
s864372002:1e-9 就是 10^(-9) 稱為eps,想像一下ε是做什麼的XD。 10/10 11:30
s864372002:B98沒有,我們課本上的浮點數是神祕的東西,非IEEE標準 10/10 11:34
avesta:....可以詳細說明一下完整的程式碼嗎 10/10 13:05
avesta:用Dev-C++測試不管用cout還是printf都是100 10/10 13:06
avesta:而且照理說fint(floating-point int)在2^53以下精確度應該 10/10 13:10
avesta:都和int一樣吧 10/10 13:10
JT0109:他上次害我困擾很久= = 最後乾脆自己FOR了... 10/10 14:56
jimmyken793:浮點數誤差 10/10 21:57
bill8124:在做這禮拜計概作業?????????? 哪裡需要用到??? 10/10 23:20
已改正
ianlini:他發太多文筆誤 應該是計程 10/10 23:26
ianlini:那題用陣列似乎比較好寫... 10/10 23:30
※ 編輯: bztfir 來自: 203.73.103.249 (10/10 23:54)
pf5179:陣列可以吃嗎? 10/11 01:03