-1

数値を 4 で割り切れる最も近い数値に四捨五入する方法を探しています。

4

3 に答える 3

2
num = std::round(num / 4.0) * 4.0;
于 2013-04-09T18:55:18.813 に答える
2

ここにいくつかの擬似コードがあります。おそらく最も効率的な方法ではありませんが...

if num mod 4 == 0 then you are good
if num mod 4 == 1 then subtract 1
if num mod 4 == 2 then you decide (subtract/add 2)
if num mod 4 == 3 then add 1
于 2013-04-09T18:55:47.700 に答える
-3

次のマクロを使用します。

#define ALIGN4(len) (((len) + 3) & ~3) // round up to 4 items 
于 2013-04-09T18:43:24.663 に答える