Jef*_*den 7 c++ floating-point type-conversion language-lawyer
C++ 11 4.9浮动积分转换[conv.fpint]:
可以将浮点类型的prvalue转换为整数类型的prvalue.转换截断; 也就是说,丢弃小数部分.如果截断的值无法在目标类型中表示,则行为未定义.
如果值是-0.0,是否定义了行为?它归结为"截断值是否无法在目标类型中表示".零可以代表.可以负零吗?在这种情况下,两个零值是区分还是不区分?
Ada*_*son 11
截断值-0.0is 0,可以用整数类型表示(包括无符号整数类型).没有理由认为截断的值-0.0和0.0是不同的,只是截断的值-0.25和0.3不同.