最近在看雜湊表,把相應的雜湊值雜湊分組到相應的slot(槽)中,中間用到了大量的移位運算和取模。
今天測試取模運算的時候,發現了乙個取模運算的知識點。
例如 4取模2 = 0 ,4取模4=0 用二進位制表示就是:
4 % 2
0100 (紅色部分得出的結果是0)
4 % 4
0100(紅色部分得出的結果還是0)
如果一直往下推斷的話:
6模2或4或8 8模2或4或8
6 % 2 8 % 2
0110 1000
6 % 4 8 % 4
01101000
(結果是10,轉換為二進位制是2)
上面是舉例偶數對2的冪的取模,我想奇數對2的冪取模也是相同的道理。
根據這個規律我們很快能夠計算出乙個二進位制數取模運算乙個2的n次方數的結果
例如:1011 0001 1101 1010 取模運算2^6——2的6次方
結果必然是 0000 0000 0001 1010
取模運算還有很多我不了解的作用,資訊**的時代,it道路前方充滿了曙光。
神奇的模運算
小學時,大家應該已經很熟悉 如何判斷乙個數能否被3或9整除 的問題。然而,為何乙個數的各位數的和能被3或9整除時,該數即可以被3或9整除呢?又為何個位數是偶數時,該數即為偶數呢?有沒有類似的簡單的方法來判斷乙個數能否被7,被11整除呢?模運算可以很好地給出問題的答案。什麼是模運算呢?學過離散數學基礎...
c語言中的取模運算子 c語言運算子的詳細講解
達式進行 運算時,只要有乙個為真,總的值就為真,只 有當所有的都為假時,總的式子才為假。邏輯非 運算是把相應的變數資料轉換為相應的真 假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。還有一點很重要,當乙個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。...
php運算子取整 PHP 運算子
數學計算 1.使用 abs 函式設定數值的絕對值。輸出 5 echo abs 5 2.使用 ceil 函式進製取整。輸出 6 echo ceil 5.8 echo ceil 5.1 3.使用 floor 函式截斷取整。輸出 5 echo floor 5.8 echo floor 5.1 4.使用 r...