位運算備忘

2021-07-02 04:29:32 字數 643 閱讀 7443

程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。位運算說穿了,就是直接對整數在記憶體中的二進位制位進行操作。比如,and運算本來是乙個邏輯

運算子

位與運算(&)   相同位的兩個數字都為1,則為1;若有乙個不為1,則為0

位或運算(|)     相同位只要乙個為1即為1

位異或(^)        相同位不同則為1,相同則為0

位反運算(~)    相同位1則為0,0則為1

1.判斷乙個整數是奇數還是偶數

可以使用位與運算的特性,奇數的二進位制表示方法最後乙個數必定是1 ,偶數的二進位制表示方法最後乙個數必定是0,

這時可以和1進行與運算,如果結果是1,則表示是奇數,如果結果是0,則表示是偶數。

function test($num)else

}

2.判斷乙個整數是否是2的整數次冪

也是使用位與運算的特性,如果該數是2的整數次冪,那麼這個數的二進位制表示形式為 0010000... 那麼這個數減一之後的數的二進位制

0001111...

這兩個數與運算如果結果是0則表示是整數次冪,否則不是。

function test($n)else

}

位運算(1) 初識位運算

前段時間數電課學了些進製轉換,還有與或非等邏輯運算,如今再來看看位運算,倒輕鬆了不少。很早就想寫些非總結性部落格了,奈何還是太懶。也也不知怎的突然又來了興致,趕忙寫下這篇部落格。廢話不多說,今天準備總結總結關於位運算的知識。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的,即0 1兩種狀態,...

位運算子和位運算

一 按位與 運算子 1 運算規則 參加運算的兩個 資料,按二進位進行 與 運算,如果兩個相應的二進位都為1,則該位的結果值為1,否則為0,即 0 0 0,0 1 0,1 0 0,1 1 1.2 用途 1 清零 運算物件 原來的數中為1的位,新數中相應位為0。2 取乙個數中某些指定位。如想要取乙個整數...

位運算子與位運算

位運算是對二進位制位的操作,它應用於整形資料,把整形資料看成固定的二進位制序列,然後對二進位制序列進行位運算 按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例c a b a 1010...