我發現,你可以用這個做模:爲什麼這個模位操作起作用?
x % m == (x + x/m) & m
,但我不明白爲什麼它的工作...
像8%7 ==(8 + 8/7)& 7,這是
x = 8 = 0001 0000
x/7 = 1 = 1000 0000
x + x/7 = 9 = 1001 0000
9 & 7 = 1001 0000 & 1110 0000 = 1000 0000 = 1
我發現,你可以用這個做模:爲什麼這個模位操作起作用?
x % m == (x + x/m) & m
,但我不明白爲什麼它的工作...
像8%7 ==(8 + 8/7)& 7,這是
x = 8 = 0001 0000
x/7 = 1 = 1000 0000
x + x/7 = 9 = 1001 0000
9 & 7 = 1001 0000 & 1110 0000 = 1000 0000 = 1
N = 7k + m, m<7
N/7 = k
N + N/7 = 8k + m
(N + N/7) & 7 = (8k + m) & 7
= m & 7
= m
它適用於任何2 ň -1號,而不是僅僅7
你的位是向後的。 – 2012-02-28 21:32:00
我不明白,是不是你的例子已經顯示它是如何工作的? – MysticXG 2012-02-28 21:35:09
也許這是BigEndian? – 2012-02-28 21:35:31