位運算子 0xFF的運算與講解

2021-09-25 18:51:18 字數 1167 閱讀 3981

區分  &,丨,^的運算規則

& (按位與運算子)表示:

兩個運算元中位都為1,結果為1

如果兩個操作中位乙個1另乙個0 ,結果為0

即運算規則:0&0=0; 0&1=0; 1&0=0; 1&1=1;

例如:1010 & 1110= 1010

|(按位或運算子)表示:

兩個操作中位只有乙個為1,結果就等與1

即運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1

例如: 1010 | 1111 =1111

^(異或 運算子)表示

兩個中位如果相同的數值,結果為 0,

如果兩個中位 數值不同,結果為1.

即執行結果:同數值:         0^0=0;1^1=0;

不同數值:       0^1=1; 1^0=1;

例如:1010 ^  1110 = 0100  (一位一位比較)

~(取反運算子)表示:

參加運算的乙個資料,按二進位制位進行「取反」運算。

即:對乙個二進位制數按位取反,即將0變1,1變0

運算規則:~1=0; ~0=1;

例如:使乙個數的最低位為零,可以表示為:a&~1

~1的值為1111111111111110

0x31 (一般看到0x==》16進製制數

0x31計算: 先把0x31轉換為 10進製的數  0x31(10)=16*3+1=49

再把得到10進製轉 2進製    49(2)=110001

所以 0xff 也是這樣計算的  f==>表示15進製

0xff(10)= 16*15+15=255

255 (2) = 11111111

0x31  &  0xff 的 計算 

因為0xff得出的結果 8個位元組,而位數要相同,那麼 0x31就要補0,因為在0x31的二進位制為110001已經又6個位元組了,那麼再前面加兩個0即可(這句其實我覺得我說的有點怪怪的)

a): 0x31 &  0xff

= 00110001 &  11111111

=00110001          

=110001

b):  0x31  |  0xff

= 00110001  |  11111111

=11111111 

位運算子與位運算

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

邏輯運算子與位運算子

1.運算子 用於對邏輯值的取反運算。當邏輯值為true時,經過取反變為false 當邏輯值為false時取反成true。2.運算子 運算子 用於對邏輯值進行異或運算。當運算兩側同時為true或false時,運算結果為false,否則為true。3.運算子 和 運算子 和 均用於邏輯與運算。當兩側同時...

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...