位運算子與運算子的優先順序

2021-09-27 10:26:37 字數 1507 閱讀 3232

&按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0      

1 & 1 == 1

1 & 0 == 0

0 & 1 == 0

0 & 0 == 0   

a=9b=13

(a & b) 輸出結果 9 ,二進位制解釋:9的二進位制是1001,13的二進位制是:1101  結果:0000 1001

|按位或運算子:只要對應的二個二進位有乙個為1時,結果位就為1。        

1 | 1 == 1

1 | 0 == 1

0 | 1 == 1

0 | 0 == 0

a=9b=13

(a | b) 輸出結果 13 ,二進位制解釋:9的二進位制是1001,13的二進位制是:1101  結果:0000 1101

~按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1

~ 1 == 0

~ 0 == 1  

a=9      

(~a ) 輸出結果 6,二進位制解釋: 9的二進位制是1001   結果:0000 0110,在一 個有符號二進位制數的補碼形式。

^        按位異或運算子:當兩對應的二進位相異時,結果為1    

1 ^ 1 == 0

0 ^ 0 == 0

1 ^ 0 == 1

0 ^ 1 == 1  

a=9b=13

(a ^ b) 輸出結果 6 ,二進位制解釋: 9的二進位制是1001,13的二進位制是:1101  結果為 0000 0110

<<左移動運算子:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。

a=9     

a << 2 輸出結果 36 ,二進位制解釋:9的二進位制是1001   結果為  0010 0100

>>右移動運算子:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數  

a=9 

a >> 2 輸出結果 2 ,二進位制 解釋:9的二進位制是1001  結果為: 0000 0010

**        指數 (最高優先順序) ~ + -      按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)

* / % //   乘,除,aa取模和取整除

+ -        加法減法 >> <<      右移,左移運算子

&           位 'and'

^ |        位運算子

<= < > >=   比較運算子

<> == !=    等於運算子

= %= /= //= -= += *= **=        賦值運算子

is is not        身份運算子

in not in        成員運算子

not or and      邏輯運算子 

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...

運算子優先順序 PHP運算子優先順序

php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...