c++ - 在 C++ 中如何定义从整数到浮点的精度损失?
问题描述
我对下面的代码片段有疑问:
long l=9223372036854775807L;
float f=static_cast<float>(l);
long 值不能完全根据 IEEE754 表示。
我的问题是如何处理有损转换:
- 是否采用最近的浮点表示?
- 是否采用下一个更小/更大的表示?
- 还是采取了其他方法?
我知道这个问题 在将 int 转换为 float 时在后台会发生什么,但这并不能回答我的问题。
我对下面的代码片段有疑问:
long l=9223372036854775807L;
float f=static_cast<float>(l);
long 值不能完全根据 IEEE754 表示。
我的问题是如何处理有损转换:
我知道这个问题 在将 int 转换为 float 时在后台会发生什么,但这并不能回答我的问题。