以下代码的输出结果是( )。 print(0.1+0.2==0.3)

admin2021-03-16  24

问题 以下代码的输出结果是(    )。
print(0.1+0.2==0.3)

选项 A、-1
B、True
C、False
D、0

答案C

解析 在Python中,0.1+0.2、=0.30000000000000004。原因是:对于十进制,它只能表示以进制数的质因子为分母的分数。10的质因子有2和5,因此1/2、1/4、1/5、1/8及1/10都可以精确表示;相反,1/3、1/6及1/7都是循环小数,因为它们的分母使用了质因子3或者7。二进制中,只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4及1/8都可以被精确表示。但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类易读的十进制数据时,会对小数尾部进行截断处理。在不同的编程语言中,运行0.1+0.2会输出不同的结果。本题选择C选项。
转载请注明原文地址:https://kaotiyun.com/show/Bq6p777K
0

最新回复(0)