问答详情
源自:3-1 Python基础数据类型

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

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

提问者:qq_慕斯卡5572440 2021-03-07 14:50

个回答

  • 源代码_思无邪
    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类型数据转化为二进制就比较麻烦。这个问题叫:个位小数的加减法失真