浮点数比较

简介: 一个很经典的小知识点,仅作为笔记:不要用 a == b的办法判断两个浮点数是否相等,包括不要用  a== 0的办法判断浮点数 a是否等于0。因为浮点数是有误差的。应该用  a-b > -eps && a-b < eps  ,即a和b的差的绝对值小于某个很小值 eps的办法来判断a和b是否相等。

一个很经典的小知识点,仅作为笔记:

不要用 a == b的办法判断两个浮点数是否相等,包括不要用  a== 0的办法判断浮点数 a是否等于0。因为浮点数是有误差的。

应该用  a-b > -eps && a-b < eps  ,即a和b的差的绝对值小于某个很小值 eps的办法来判断a和b是否相等。

如果结果要保留小数点后面n位,那么 eps可以取 10的-(n+1)次方。

 

具体实现可以看:http://www.cnblogs.com/huashanqingzhu/p/3462636.html

相关文章
|
6月前
|
C语言
|
2月前
|
存储 Python
整数和浮点数。
整数和浮点数。
23 7
|
3月前
|
存储
浮点数
【8月更文挑战第29天】浮点数。
57 1
浮点数中的零
Julia 提供三种浮点类型:Float16(半精度,16位),Float32(单精度,32位)和 Float64(双精度,64位)。浮点数包含正零和负零,两者相等但二进制表示不同,如 `bitstring` 函数所示:0.0 为 &quot;000...000&quot;,而 -0.0 为 &quot;100...000&quot;。
浮点数的世界 0.1 + 0.2 = 0.30000000000000004?
今天看到一个有趣的新闻,浮点数计算导致的灾难,借此机会再理解一下浮点数的原理。
206 1
|
存储
5.6.1_浮点数的表示
计算机组成原理之浮点数的表示
315 0
5.6.1_浮点数的表示
|
存储 Java
详解浮点数
1.什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到为止使用最广泛的是浮点表示法。浮点表示法,即用浮点数来表示实数,所谓浮点数,意思是小数点的位置不是固定的,是可以浮动的。浮点数采用IEEE 754这个标准作为统一的标准。该标准中严格定义个浮点数的表示格式、转化过程。 下面简单介绍一下IEEE 754标准。 IEEE 754的核心就是用科学计数法来表示实数,然后将表示结果转为二进制的方式,方便计算机存储。
337 0
|
存储
浮点数的表示方法
浮点数的表示方法
151 0
浮点数的表示方法
06:浮点数向零舍入
06:浮点数向零舍入
212 0