2

2つの数値aとbが与えられ、bは形式2 kであり、kは不明です。ビット演算子を使用してa%bを計算する効率的な方法は何でしょうか。

4

1 に答える 1

3

a AND(b-1)== a%b(bが2 ^ kの場合)

ex. a = 11 (1011b), b = 4 (0100b)
11 / 4 = 2 R3
11 % 4 == 11 AND (4-1)
11 (1011b) AND 3 (0011b) == 3 (0011b)
于 2011-08-15T13:09:03.057 に答える