程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。位運算說穿了,就是直接對整數在記憶體中的二進位制位進行操作。比如,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...