Какой быстрый способ округлить unsigned int
до кратного 4
?
У кратного 4 есть два младших значащих бита 0, правильно? Поэтому я мог бы маскировать их, а затем делать оператор switch, добавляя либо 1,2, либо 3 к данному uint
.
Это не очень изящное решение.
Там также арифметическое округление:
myint == 0 ? 0 : ((myint+3)/4)*4
Возможно, есть лучший способ, включая некоторые операции с битами?