神奇的運算子 取模

2021-08-27 15:47:27 字數 686 閱讀 8018

最近在看雜湊表,把相應的雜湊值雜湊分組到相應的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...