浮点数的误差

本文深入探讨了浮点数在计算机中的表示及其可能导致的精度误差。从浮点数的二进制表示开始,解释了为什么浮点运算不总是精确,并通过示例展示了小数到二进制转换中的舍入误差。进一步讨论了这些误差在数学运算、比较和累积计算中的影响,以及如何在实际编程中处理浮点数误差。
摘要由CSDN通过智能技术生成

说到浮点数的误差,我们先来联想一下现实生活中的误差:
假设图书馆到教学楼的距离为1000m,现在想要实地勘测,允许的误差为1m.
第一次测的结果为999.8m,1000-999.8=0.2<1m,在误差范围内结果有效。

第二次测的结果为998.8m,1000-998.8=1.2>1m,在误差范围外结果无效。
第三次测的结果为1001.2m,1001.2-1000=1.2>1m,在误差范围外结果无效。
第四次测的结果为1000.8m,1000.8-1000=0.8<1m,在误差范围内结果有效。
从以上数据,我们在实际生活中对数字的测量都存在误差,但是可以看出只要在误差允许的范围内,结果均有效。而误差的范围由自己定义,并无固定的值,但要尽可能小。
下来我们就进入对浮点数的误差分析,其所表达的意思和上例差不多......
我们一般采用宏定义来定义一个浮点数的误差值,比如 #define EPS 0.000001
整型与零比较:a==0,a>0,a<0
浮点数和零比较:-EPS<=a&&a<=EPS//a=0
a>EPS//a>0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值