作者littleshan (我要加入剑道社!)
看板C_and_CPP
标题Re: [问题] 关於浮点数的运算
时间Wed Jul 8 00:32:38 2009
※ 引述《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
1F:→ VictorTom:BCB6, 用printf + %lf 也可以正常印出结果....:) 07/08 00:41