位運算子和位運算 與,或,異或等

2021-08-08 14:28:56 字數 1329 閱讀 9946

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...