我想要一个floor带语法的函数
int floor(double x);
Run Code Online (Sandbox Code Playgroud)
但是std::floor返回一个double.是
static_cast <int> (std::floor(x));
Run Code Online (Sandbox Code Playgroud)
保证给我正确的整数,还是我有一个一个一个的问题?它似乎有效,但我想肯定地知道.
对于奖励积分,为什么heck确实在第一时间std::floor返回double?
一个double(给定数量的字节,具有合理的尾数/指数平衡)是否总能完全精确地保持无符号整数的范围是该字节数的一半?
例如,8字节双精度可以完全精确地保持四字节无符号整数的范围吗?
这将归结为如果两个字节的浮点数可以保持一个字节无符号整数的范围.
一个字节的无符号int当然是0 - > 255.