我正在寻找一种方法将数字四舍五入到最接近的数字,可以除以4而不用余数
答案 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