正确答案是 B:浮点数无法精确表示。
专业分析:
在计算机中,浮点数是用二进制表示的,而某些十进制小数在二进制中无法精确表示。这意味着浮点数运算可能会出现微小的误差。例如,1.2 和 1.0 在二进制浮点数表示中都不是精确的值,因此 1.2 - 1.0 的结果也不是精确的 0.2。
具体来说,在 Python 中,浮点数遵循 IEEE 754 标准进行表示和运算。由于二进制浮点数的精度限制,1.2 - 1.0 的结果可能是一个非常接近 0.2 的数,但不是精确的 0.2。因此,直接比较浮点数的相等性可能会导致意想不到的结果。
为了避免这种问题,通常建议在比较浮点数时使用一定的容差(epsilon)。例如,可以使用 `math.isclose()` 函数来比较两个浮点数是否在一个小范围内相等:
```python
import math
print(math.isclose(1.2 - 1.0, 0.2))
```
这将返回 `True`,因为 `math.isclose()` 考虑了浮点数的精度问题。