Python中浮点型数据计算中一个有意思的现象

浮点数计算需注意的事项

在Python中,我们可能需要经常使用浮点型(带小数点的数字)数据进行计算,这里有一个小小的坑,许多新手很容易踩进来。

浮点数据四则运算的小坑

从常识上来讲,3.2 + 2.1 = 5.3,但是,在Python中并不是这个结果,我们实际操作一下:

a = 3.2
b = 2.1
print(a+b)
你会发现,结果是5.300000000000001

有没有毁三观?计算机居然连这么简单的计算都会算错!
其实,这是因为二进制与十进制的区别。底层的计算机语言,都是用二进制编写的,比如0.1,用十进制表示是0.1,用二进制表示是10.000110011001100110011001100110011001100110011001101…实际上0.1在二进制中是无法被整除的,所以,就出现了这样的结果。

影响

所以,系统里,2.1+3.2 == 5.3 的结果是False

大家在做各种判断的时候,一定要注意这个小坑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White_Mountain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值