在C++中为什么0.1-0.25-0.75不为零
答案:4 悬赏:0 手机版
解决时间 2021-04-01 12:05
- 提问者网友:容嬷嬷拿针来
- 2021-04-01 03:52
在C++中为什么0.1-0.25-0.75不为零
最佳答案
- 五星知识达人网友:迟山
- 2021-04-01 04:34
C++使用double类型来表示浮点,它是二进制浮点数,并不能精确表示所有的10进制浮点数,会有小小的误差,所以。
全部回答
- 1楼网友:野味小生
- 2021-04-01 08:08
计算机是二进制编码,浮点数有误差,你是这用二进制表示一下0.1,是无限循环小数,所以说,会输出那个几位小的误差
- 2楼网友:鸽屿
- 2021-04-01 06:52
我们知道有理数和无理数等在计算机里保存时是四舍五入的二进制数,存储的值肯定不是精确的值,不是精确地值,那么使用它计算肯定会有误差。
如果你计算的是1-0.25-0.75的话,就应该没问题了。因为0.25是四分之一,二进制是能精确表示的。同样0.75也是可以精确使用二进制表示的。
如果你计算的是1-0.25-0.75的话,就应该没问题了。因为0.25是四分之一,二进制是能精确表示的。同样0.75也是可以精确使用二进制表示的。
- 3楼网友:酒醒三更
- 2021-04-01 06:01
float有误差的,虽然你输入的是0.025,但是他实际上不是刚好0.025,所以不要指望浮点型的数据会按照你想象的那样去执行
你可以算一下0.25+0.75 , 通常也不是1.0 而是0.9999999这样的数据
你可以算一下0.25+0.75 , 通常也不是1.0 而是0.9999999这样的数据
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯