求餘運算:a mod b就相當與a-(a div b)*b 的運算。
與運算:就是一個指令的事
在對10進行求餘的時候,我們發現,餘數總是整數中的個位上的數字,而不用管其他位是什麼;在與運算中,我們經常需要使用位操作符&來取某
些位上的值,例如使用0xff&0x17ae來擷取低8位的值,現在我們已經發現有點關聯了,如果求餘結果值的範圍剛好跟是[0,求餘的底數
(a%b中的b))集合一樣,那麼低位就是求餘的結果。
<code>1</code>
<code>23%16 == 7</code>
<code>2</code>
<code>23 (0x17)&amp; 0x0f == 0x07</code>
是以,當需要對2的次幂進行求餘時,可以是使用&運算符來代替,效率會倍兒棒。
當x=2^n(n為自然數)時,
<code>a % x = a &amp; (x - 1 )</code>