首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

浮点型与零比较

2013-06-26 
浮点型与0比较我知道浮点型不能直接与0比较正确的方法是浮点数与一个区间[0.0-EPSINON, 0.0+EPSINON]比较,

浮点型与0比较
我知道浮点型不能直接与0比较
正确的方法是浮点数与一个区间[0.0-EPSINON, 0.0+EPSINON]比较,
因为小数部分的值部分的值不为1/(2^n)就会产生误差,
问题时EPSINON这个精度是根据精度需求自定义的,还是个定数? 浮点型 比较
[解决办法]

引用:
能说明一下具体原理吗?
Quote: 引用:

计算你的计算机支持的最小精度.你可以自由选择精度,但是不能比最小精度更小.

#include <iostream>

double epsilon()
{
  double f = 1.0;
  while(1.0 < 1.0 + f) f /=2.0;
  return f*2.0;
}

int main()
{
  std::cout << epsilon() << std::endl;
  return 0;
}
//2.22045e-16


看看这里

热点排行