看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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
VictorTom:BCB6, 用printf + %lf 也可以正常印出結果....:) 07/08 00:41