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

来源:3-1 Python基础数据类型

qq_慕斯卡5572440

2021-03-07 14:50

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

写回答 关注

2回答

  • 源代码_思无邪
    2021-04-08 20:25:14

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

  • 慕圣9483343
    2021-03-07 20:29:22

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

    慕圣9483...

    这样的还有很多,比如 0.4+0.2=0.6000000000000001 0.6+0.3=0.8999999999999999

    2021-03-07 20:32:41

    共 1 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154170 学习 · 1075 问题

查看课程

相似问题