小正数,避免极小截断误差
来源:互联网 发布:星际玩家什么梗 知乎 编辑:程序博客网 时间:2024/06/06 04:00
为了避免极小截断误差(这种误差由数据类型和机器类型造成)
小正数通常为可用给定数据类型的大于1的最小值与1之差来表示。举例来说,double类型的小正数为:
#include <iostream>
#include <limits>
using namespace std;
cout << numeric_limits<double>::epsilon( ) << endl; //输出:2.22045e-016
比如对下面的if判断
double d1=2., d2=3.;
d1/=d2; // 2/3
if (d1*10==(20./d2)) //条件假,因为出现了截断误差
{
//永远不可能执行到的代码
do_equal();
}
所以可以采用
if ( ((d1*10)-(20.0/d2)) <= numeric_limits<double>::epsilon())
{
do_equal();
}
这种近似等于,(承认误差存在)可以实现上面的要求
- 小正数,避免极小截断误差
- js中number数值计算避免误差的tricky way
- javascript避免数字计算精度误差的方法之一
- javascript避免数字计算精度误差的方法
- javascript避免数字计算精度误差的方法详解
- 避免数字计算精度误差的方法详解
- javascript避免数字计算精度误差的方法
- 误差!
- 误差
- 一款计数误差小的安卓计步器
- css table 强制截断.... 小技巧
- javascript截断指定位数的浮点数的小知识
- 避免定义重复小技巧
- 双精度浮点数的加法计算误差及其避免的初步方法
- 测试代码效率时一定要用高精度的Stopwatch时间戳,避免出现误差。
- 通过分数形式避免浮点数在运算过程中的累计误差
- JAVA的小数处理(避免默认的科学计数法造成的误差)
- SICP 习题 (2.16)解题总结:避免误差的区间计算系统
- TcxTreeList的使用心得。
- 发布blog的十条黄金法则
- 怎样保护你的.NET程序
- asp split 函数的应用
- 阻止 Visual Basic .NET 或 C# 代码的反向工程
- 小正数,避免极小截断误差
- The furthest distance in the world
- 管理知识的培训(1)
- 小数问题
- 如何把一个Gridview的数据导入另一Gridview中?
- ###################2006.7.26########关于引用和指针的心得##############
- 广州第4届车展(香车)
- 各款adsl(猫)默认密码
- demo简介