Re: [問題] 關於浮點數的運算

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間16年前 (2009/07/08 00:32), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《onlywig (環島旅行ing)》之銘言: : 每次來這問問題都很不好意思~~ : 因為總覺得我問的問題都很淺...卻又常讓我的腦袋困擾很久 : 問題很短,如下: : 我是用了double的長浮點數來運算 (因為資料量很大且要很精準) : 但我發現到兩個浮點數相除竟然精準度有誤差.... : EX: : 8/1000000 它顯示的結果為0.000014 = =.... : 我有爬文過 好像也沒人問類似這樣的問題~ : 翻書是有說到用fabs的指令配合限定範圍 但我的8與1000000是已知的 : 有點不知道要怎放進去那個指令.. : 難道真的沒有辦法很精確嗎??? : 因為我是跑通訊系統的模擬 是希望沒有計算上的誤差 : 還有 我用的是DEV-C... : 希望有人能解決我的疑惑了~ 感謝萬分!! #include <iostream> #include <iomanip> using namespace std; int main() { cout << fixed << 8.0 / 1000000.0 << endl; return 0; } output: 0.000008 gcc version 3.4.5 (mingw special) 很正常呀 你要不要貼完整程式碼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.31.66

07/08 00:41, , 1F
BCB6, 用printf + %lf 也可以正常印出結果....:)
07/08 00:41, 1F
文章代碼(AID): #1AKtYfFL (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AKtYfFL (C_and_CPP)