4

たとえばint value1 = 11、2 ( ) で割ってvalue1 / 25 を返した後の値があります。 float の実際の値は 5.5 です。一般に、値を次に高い値に丸めたい..

4

4 に答える 4

24

常に切り上げたい場合で、float値がある場合は、 ceilf(<math.h>ライブラリから) を使用します。

整数除算を で切り上げたい場合はn、 を実行します(value + n-1) / n。したがって、2 で割ると、これは になり(value + 1) / 2ます。

于 2013-01-31T18:05:05.437 に答える
10

値をより高い値に丸める関数 ceil(<#(double)#>) または ceilf(<#(float)#>) があります

また、計算を float/double に明示的にキャストして値 5.5 を取得する必要があります。これはより高い値に丸められます。

ceilf(value1 / 2.0f);

また

ceilf(1.0f * value1 / 2);

これを作成しないと、次の順序で提示される可能性があります。

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
于 2013-01-31T18:05:15.367 に答える
1

通常は、1 を足すだけです。

int ハーフ = (値 1 + 1)/2

したがって、常に切り上げます。整数の最も簡単な方法です。

于 2013-01-31T18:03:47.980 に答える
1
ceil(value1 / 2)

最も近い整数に切り上げます

于 2013-01-31T18:05:11.693 に答える