1、運算規則
參加運算的兩個資料,按二進位進行「與」運算,如果兩個相應的二進位都為1,則該位的結果值為1,否則為0,即:
0&0=0,0&1=0,1&0=0,1&1=1.
2、用途
1、保留某乙個數的某些位。與乙個數進行&運算,此數在一些位取1。
eg.按位與運算通常用來對某些位清0或保留某些位。例如把a的高八位清0,保留低八位,可作 a&255 運算 ( 255 的二進位制數為0000000011111111)。
2、i&(-i):返回 i 的二進位制數最低位為1的權值
例如 10100最低位的1權值是4
1001010最低位的1權值是2
111最低位的1權值是1
1、運算規則
參加運算的兩個資料,按二進位進行「或」運算,如果兩個相應的二進位都為0,則該位的結果值為0,否則為1,即:
0|0=0,0|1=1,1|0=1,1|1=1。
2、用途
對乙個資料的某些位定值為1。
也稱xor運算子。
1、運算規則
若參加運算的兩個二進位同號,則結果為0(假);異號則為1(真),即:
0^0=0,0^1=1,1^0=1,1^1=0.
2、用途
(1)使特定位翻轉
假設有01111010,想使其低4位翻轉,可以將它與00001111進行^運算。
(2)與0相^,保留原值
(3)交換兩個值,不用臨時變數
假如a=3,b=4。想將a和b的值互換,可以用以下賦值語句實現:
a=a^b; b=b^a; a=a^b;
運算規則
~是乙個單目(元)運算子,用來對乙個二進位制數按位取反,即將0變1,1變0。
1、運算規則
用來將乙個數的各二進位全部左移若干位,右補0,高位左移後溢位,捨棄不起作用。
2、用途
左移一位相當於乘以2
1、運算規則
用來將乙個數的各二進位全部右移若干位,移到右端的低位被捨棄,對無符號數,高位補0;
對有符號數,左邊移入0(「邏輯右移」)或1(「算術右移」)
2、用途
右移一位相當於除以2
位運算子與賦值運算子可以組成復合賦值運算子,如:
&=,|=,>>=,<<=,^=
異或運算子和位運算子詳解
一.異或運算子 1.異或運算子是用符號 表示的,其運算規律是 轉換成二進位制的形式來對比每一位數,相同則結果為0,不同則結果為1。分析 a 的值是15,轉換成二進位制為 1111,而b 的值是2,轉換成二進位制為 0010,根據異或的運算規律,可以得出其結果為 1101 即最終 a b的值為13 二...
按位異或運算子
參與運算的兩個值,如果兩個相應位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 0 0 0,0 1 1 0異或任何數 任何數 1 0 1,1 1 0 1異或任何數 任何數取反 任何數異或自己 把自己置0 1 ...
按位異或運算子
2 實現兩個值的交換,而不必使用臨時變數。例如交換兩個整數a 10100001,b 00000110的值,可通過下列語句實現 a a b a 10100111 b b a b 10100001 a a b a 00000110 3 在組合語言中經常用於將變數置零 xor a,a 1 static i...