1

C++ 标准为缩小从 double 类型到 int 类型的转换提供了哪些保证?它是否与Q31328190中解释的 Java 相同:

4

1 回答 1

5

不,它与 Java 不同。如果“截断小数部分”的数学结果不能用目标类型表示,则行为未定义。

从 4.9 [conv.fpint]/1(“浮点积分转换”)开始:

浮点类型的纯右值可以转换为整数类型的纯右值。转换截断;也就是说,小数部分被丢弃。如果截断的值不能在目标类型中表示,则行为未定义。

于 2016-01-04T19:00:46.413 回答