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

admin2022-09-09  26

问题 以下程序的输出结果是(          )。
   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,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4和1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的O.1与O.2(1/10与1/5),在计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1+0.2会输出不同的结果。本题选择C选项。
转载请注明原文地址:https://jikaoti.com/ti/IF50FFFM
0

最新回复(0)