我有一个值,例如int value1 = 11在分割2(value1 / 2)后它返回5.浮点数中的实际值是5.5,在这种情况下,任何人都可以帮我返回6,或者另一种情况......?一般来说,我希望将值舍入到下一个更高的值.
nne*_*neo 24
如果您总想要向上舍入,并且您有float值,请使用ceilf(从<math.h>库中).
如果你想整数除以整数除法n,那么(value + n-1) / n.因此,对于除以2,这就变成了(value + 1) / 2.
Mik*_*ail 10
有函数ceil(<#(double)#>)或ceilf(<#(float)#>)将值舍入到更高的值
你还应该明确地将计算转换为float/double以获得值5.5,它可以舍入到更高.
ceilf(value1 / 2.0f);
Run Code Online (Sandbox Code Playgroud)
要么
ceilf(1.0f * value1 / 2);
Run Code Online (Sandbox Code Playgroud)
如果你不这样做 - 可能会按下一个顺序显示:
ceilf(11/2) =
1) 11/2 = result int = 5
2) ceilf(5)
3) 5 ->int implicitly cast to float -> 5.0f
4) result 5.0f
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12880 次 |
| 最近记录: |