[問題] c程式浮點運算

看板C_and_CPP作者 (NUE BLA)時間13年前 (2011/04/11 16:45), 編輯推噓3(304)
留言7則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc++ 問題(Question): 43270.2/7200 在c程式運算 = 6.0097499999999995 (有誤差) 在小算盤運算 = 6.00975 (精確值) 我知道第一個結果是因為IEEE-754的原因所以有誤差 (43270.2無法用2進制完全表示) 請問小算盤是怎麼做到的? 在c程式如何像小算盤一樣算出精確值? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.200.162

04/11 17:01, , 1F
可以用模擬浮點數的呀不要用2進位浮點數
04/11 17:01, 1F

04/11 17:08, , 2F
四捨五入?
04/11 17:08, 2F

04/11 17:11, , 3F
不要用內建型別 自己實作完全精準的大數
04/11 17:11, 3F

04/11 17:22, , 4F
整數相除取得商(6),再將餘數跟小數部份結合成702,最後
04/11 17:22, 4F

04/11 17:23, , 5F
一直補0變成70200,因為>7200,再做整數相除...
04/11 17:23, 5F

04/11 20:21, , 6F
樓上不是國小除法嗎?
04/11 20:21, 6F

04/11 20:42, , 7F
對呀
04/11 20:42, 7F
文章代碼(AID): #1Deh-nG1 (C_and_CPP)