知识精讲
双等号==用于判断值是否相等,判断后的结果是True (真)或False (假),分别对应值相等或值不相等。
选择题
以下代码的输出结果是()
print(0.1+0.2==0.3)
A、True
B、False
C、-1
D、0
问题解析
双等号==用于判断值是否相等,判断后的结果是True (真)或False (假),分别对应值相等或值不相等。左侧运算结果为0.30000000000000004,右侧结果为0.3,值不相等,所以输出False。
欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
难题解答:为什么0.1+0.2不等于0.3?
计算机不能精确表示0.1, 0.2这样的浮点数,计算时使用的是带有舍入误差的数。Python采用IEEE754标准来存放浮点数,即使用有限位的浮点数近似表示小数。
十进制小数0.1,对应的双精度浮点数的二进制表示为0.00011001100110011001100110011001100110011001100110011001,
十进制小数0.2,对应的双精度浮点数的二进制表示为0.00110011001100110011001100110011001100110011001100110011,
0.1+0.2所得结果的双精度浮点数的二进制表示为0.01001100110011001100110011001100110011001100110011001100,对应的十进制数为0.30000000000000004。
正确答案是B
代码运行结果: