为了账号安全,请及时绑定邮箱和手机立即绑定

为啥打 >>>0.1+0.2 结果错误

为啥打 >>>0.1+0.2   结果错误

正在回答

2 回答

不管是十进制的整数还是浮点数,在电脑内部运算时都是要转换成二进制的,但是有些十进制小数是无法用精确的二进制来表示。例如0.1和0.2就是,0.1用二进制表示就是0.00011001100110011...,而0.2用二进制表示就是0.0011001100110011.......,你看这么两个数相加怎么可能是0.3,而0.3也是用二进制不能精确表示的数。

1 回复 有任何疑惑可以回复我~

0.30000000000000004是吧。因为这涉及到计算机语言的浮点型底层存储,计算机是二进制的数据,int类型进制之间的转化起来十分简单与准确,但是float类型数据转化为二进制就比较麻烦。这个问题叫:个位小数的加减法失真

0 回复 有任何疑惑可以回复我~
#1

慕圣9483343

这样的还有很多,比如 0.4+0.2=0.6000000000000001 0.6+0.3=0.8999999999999999
2021-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥打 >>>0.1+0.2 结果错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信