Я хочу знать, как получить остаток, разделив целое число на другое целое (оба положительные), используя только битовые или побитовые операторы. Оператор /
или %
не должен использоваться.
Например, для получения остатка, когда делитель имеет вид 2^k
, следующая операция дает остаток.
m = Remainder
n = The number
d = The divisor
m = n & ( d - 1 )
Однако этот метод работает только тогда, когда d
имеет вид 2^k
. Я хочу знать аналогичный метод для не-полномочий 2
. В настоящее время я работаю над проблемой из programming challenges
и хочу использовать такой метод для сокращения времени выполнения программы.