出乎意料的是,我找不到关于此的简单参考,我想计算一下:
float x = /*...*/;
float next = nextint(x);
Run Code Online (Sandbox Code Playgroud)
其中next严格大于x(即,如果x是整数,则返回下一个更高的整数)。理想情况下没有分支。
您似乎想要+ 1:
float next = floorf(x) + 1; // or std::floor
Run Code Online (Sandbox Code Playgroud)
请注意,这为您提供了数学上的下一个整数,四舍五入为最接近的可表示值,对于较大的值而言,它本身x就可以x。在这种情况下,这不会产生严格较大的可表示整数。您应该考虑这是否是您想要的。
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |