鱼C论坛

 找回密码
 立即注册
查看: 1720|回复: 8

a+b

[复制链接]
发表于 2021-8-9 18:58:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
a = 1.01
b = 1
a+b=2.00999999998

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-9 18:59:30 | 显示全部楼层
为什么啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-9 19:32:36 | 显示全部楼层
精度问题,正常现象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-9 19:35:53 | 显示全部楼层
你用下面这个就正常了
print(a+b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-9 20:19:38 | 显示全部楼层
大马强 发表于 2021-8-9 19:35
你用下面这个就正常了

谢谢,hhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-9 20:20:38 | 显示全部楼层

问题解决的话,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-10 08:42:28 | 显示全部楼层
1.01 + 1这是十进制表示的方法,结果是2.01,但计算机内部使用二进制保存数字,整数部分好说就是10(二进制),小数部分 要采用  乘2取整,顺排每回得到的整数的方法,接着用小数部分继续乘2取整,直到小数部分为0,然而 大部分十进制小数 不可能完整用二进制表示,所以,存在计算机中的二进制小数只是一个近似值,再将它转换为十进制小数,只能是一个近似的十进制数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-10 08:44:51 | 显示全部楼层
chinesestcx 发表于 2021-8-10 08:42
1.01 + 1这是十进制表示的方法,结果是2.01,但计算机内部使用二进制保存数字,整数部分好说就是10(二进制 ...

就好比0.01 你永远无法用0.01 * 2将小数部分变为0,不过,python的官方文档指出,这个并不是语言的缺陷,而是二进制表示十进制的数的固有特性
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-12 09:30:54 | 显示全部楼层
用decimal函数运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表