#2623. [GESP202603 二级 C++] 第 5 题

[GESP202603 二级 C++] 第 5 题

某同学执行C++代码 cout << ((0.1 + 0.2) == 0.3) 时输出 0,下面最可能的原因是( )。

{{ select(1) }}

  • C++的 + 运算符在处理小数时存在bug
  • 0.10.20.3 在计算机中无法用二进制浮点数精确表示,导致 0.1 + 0.2 的结果与 0.3 存在微小误差
  • == 运算符不能用于比较浮点数,只能用于整数
  • 因为 0.1 + 0.2 的数学结果不等于 0.3