& 按位與 :如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0。
| 按位或 : 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1。
^ 按位異或 : 若參加運算的兩個二進位制位值相同則為0,否則為1。
~ 取反 :~是一元運算子,用來對乙個二進位制數按位取反,即將0變1,將1變0。
<< 左移 : 用來將乙個數的各二進位制位全部左移n位,右補0。
>>
右移 :將乙個數的各二進位制位右移n位,移到右端的低位被捨棄,對於無符號數,高位補0。
1.&的典型應用:
(1)快速對某一段資料單元資料清零。
a=321;
a=a&0x0;
a 0000 0001 0100 0001
&0000 0000 0000 0000
=0000 0000 0000 0000
(2)獲取乙個資料的指定位。
獲得整型數a=的低八位資料的操作為a=a&0xff。a=321。
a 0000 0001 0100 0001
&0000 0000 1111 1111
=0000 0000 0100 0001
2. |的典型應用
設定乙個資料的指定位。
a=321,將其低八位資料置為1的操作為a=a| 0xff。
a 0000 0001 0100 0001
| 0000 0000 1111 1111
=0000 0000 1111 1111
3. ^的典型應用
(1)定位翻轉
定位翻**設定乙個資料的指定位,將0置為1,1置為0。
a=321,將其低八位資料翻轉的操作為a=a^0xff。
a 0000 0001 0100 0001
^ 0000 0000 1111 1111
= 0000 0001 1011 1110
(2)數值交換。無需引入第三個變數。a=3,b=4交換a,b的值。
a=a^b; 0011^0100=0111
b=b^a; 0100^0111=0011
a=a^b; 0111^0011=0100
a=a^b
->b=b^a=b^(a^b)=b^b^a=a;
-> a=a^b ->
a=(a
^b)^(b
^b^a
)=a^b
^b^b
^a=a
^a^b
^b^b
;
位運算及其應用詳解
位運算子 位運算是以二進位制位為單位進行的運算,其運算元和運算結果都是整型值。todo 字元型 char 位運算子共有7個,分別是 位與 位或 位非 位異或 右移 左移 0填充的右移 一 邏輯運算子 1.位與運算 1 運算規則 位與運算的實質是將參與運算的兩個資料,按對應的二進位制數逐位進行邏輯與運...
位運算及其應用詳解
一 邏輯運算子 1.位與運算 1 運算規則 位與運算的實質是將參與運算的兩個資料,按對應的二進位制數逐位進行邏輯與運算。例如 int型常量4和7進行位與運算的運算過程如下 4 0000 0000 0000 0100 7 0000 0000 0000 0111 0000 0000 0000 0100 ...
Python 位運算及其應用
1.機器數 真值,原碼 反碼 補碼 機器數 乙個數在計算機中的二進位制表示形式,機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數為1 真值 因為第一位是符號位,所以機器數的形式值就不等於真正的數值,將帶符號位的機器數對應的真正數值稱為機器數的真值 為什麼要設定原碼 反碼 補碼 方便...