题目
2【单选题】以下代码的输出结果是()。print(0.1+0.2==0.3)A. -1B. TrueC. FalseD. 0
2【单选题】以下代码的输出结果是()。
print(0.1+0.2==0.3)
A. -1
B. True
C. False
D. 0
题目解答
答案
C. False
解析
本题考查浮点数运算的精度问题。在计算机中,浮点数无法精确表示所有十进制小数,例如0.1、0.2在二进制下是无限循环小数,存储时会产生微小误差。因此,直接比较两个浮点数是否相等可能得到不准确的结果。本题中,0.1 + 0.2的实际计算结果可能略大于0.3,导致==比较返回False。
-
浮点数精度问题
由于二进制无法精确表示十进制小数,0.1和0.2在内存中存储时会存在微小误差。例如:print(0.1 + 0.2) # 输出可能是0.30000000000000004此时,
0.1 + 0.2的结果并非精确的0.3。 -
比较操作的结果
表达式0.1 + 0.2 == 0.3会比较两个值是否完全相等。由于左侧计算结果存在误差,右侧是精确的0.3,两者不相等,因此整个表达式返回False。