我想知道如何通过仅使用位移或按位运算符将一个整数除以另一个整数(均为正数)来获得余数。不应使用运算符或运算符/
。%
例如,为了在除数为以下形式时获得余数,2^k
以下操作产生余数。
m = Remainder
n = The number
d = The divisor
m = n & ( d - 1 )
然而,这种方法只有在d
是 形式时才有效2^k
。我想知道一种类似的方法来处理非2
. 我目前正在解决一个问题,programming challenges
并希望采用这种方法来减少程序执行时间