&:
作用是對運算子兩側以二進位制表達的操作符按位分別進行'與'運算。而這一運算是以數中同樣的位(bit)為單位的。
操作的規則是:僅當兩個運算元都為1時。輸出結果才為1。否則為0
,示比例如以下:
12 的二進位制為 0000 1100.
5 的二進位制為 0000 0101.
則 12 & 5 的二進位制為 0000 0100,則完整的表示式為 12 & 5 = 4;
|:
作用是對運算子兩側以二進位制表達的操作符按位分別進行'或'運算。而這一運算是以數中同樣的位(bit)為單位的。
操作的規則是:僅當兩個運算元都為0時,輸出的結果才為0。否則為1
,示比例如以下:
12 的二進位制為 0000 1100.
5 的二進位制為 0000 0101.
則 12 | 5 的二進位制為 0000 1101。則完整的表示式為 12|5 = 13;
^:
作用是對運算子兩側以二進位制表達的運算元按位分別進行'異或'運算,而這一運算是以數中同樣的位(bit)為單位的。
異或運算操作的規則是:僅當兩個運算元不同一時候。對應的輸出結果才為1,否則為0
,示比例如以下:
12 的二進位制為 0000 1100.
5 的二進位制為 0000 0101.
則 12^5 的二進位制為 0000 1001。則完整的表示式為 12^5 = 9;
~:
'取反'運算子~的作用是將各位數字取反:全部的0置為1
,1置為0
,示比例如以下:
(1)12 的二進位制為 0000 1100.
先取反:1111 0011.
遵循正整數「減一」得補碼 :1111 0010.
隨後,在補碼的基礎上取反 得到 : 1000 0000 0000 0000 0000 0000 0000 1101
則完整的表示式為~12 = -13
(2)-10 的二進位制為 0000 1010.
先取反: 1111 0101.
遵循負整數「加一」得補碼:1111 0110.
隨後,在補碼的基礎上取反 得到 :0000 0000 0000 0000 0000 0000 0000 1001
<<:
左移就是把乙個數的全部位數都向左移動若干位
,示比例如以下:
12 的二進位制為 0000 1100
則 12 << 1 的二進位制為 0001 1000, 則完整的表示式為 12 << 1 = 24;
>>:
右移就是把乙個數的全部位數都向右移動若干位
,示比例如以下:
12 的二進位制為 0000 1100.
則 12 >> 1 的二進位制為 0000 0110。 則完整的表示式為 12 >> 1 =6;
深入理解按位異或運算子
小步不停注 文章 參與運算的兩個值,如果兩個相應bit位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 按位異或的3個特點 1 0 0 0,0 1 1 0異或任何數 任何數 2 1 0 1,1 1 0 1異或...
深入理解按位異或運算子
參與運算的兩個值,如果兩個相應bit位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 按位異或的3個特點 1 0 0 0,0 1 1 0異或任何數 任何數 2 1 0 1,1 1 0 1異或任何數 任何數取反 3 任何數異或自己 把自己置0 按位異或的幾個常見用途 1...
深入理解按位異或運算子
參與運算的兩個值,如果兩個相應bit位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 按位異或的3個特點 1 0 0 0,0 1 1 0異或任何數 任何數 2 1 0 1,1 1 0 1異或任何數 任何數取反...