如何舍入到最接近的第四个

时间:2013-04-09 18:41:45

标签: c++

我正在寻找一种方法将数字四舍五入到最接近的数字,可以除以4而不用余数

3 个答案:

答案 0 :(得分:2)

num = std::round(num / 4.0) * 4.0;

答案 1 :(得分: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

答案 2 :(得分:-3)

使用以下MACRO:

#define ALIGN4(len) (((len) + 3) & ~3) // round up to 4 items