一、位與&:
對應的二進位制位進行與操作,兩個都為1才為1,其他情況均為0
測試:
system.out.println(5&6);
列印:4
過程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
進行 & :0000 0000 0000 0000 0000 0000 0000 0100
得到:4
二、位或|:
|操作符,對應的二進位制位進行或操作,兩個都為0才為0,其他情況均為1
測試:
system.out.println(5|6);
列印:7
過程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
進行 | :0000 0000 0000 0000 0000 0000 0000 0111
得到:7
三、位異或^:
^操作符 當對應二進位制位值相同,該位為0 否則為1
測試:
system.out.println(5^6);
列印:3
過程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
進行 ^ :0000 0000 0000 0000 0000 0000 0000 0011
得到:3
四、位非~:
~操作符,對每個二進位制位的內容求反,即1變成0,0變成1
測試負數:
int a = -5;//101;
system.out.println(~a);
列印:4
過程是這樣的,首先表示出來這個負數
1111 1111 1111 1111 1111 1111 1111 1011(上面已經提到為什麼這樣表示)
各位取反得到
0000 0000 0000 0000 0000 0000 0000 0100
轉為10進製得到4
JAVA按位取反運算
按位取反是對補碼進行運算,當運算完後,再將補碼變回原碼。這個符號為按位取反運算子。按位取反的運算規則為0變成1,1變成0.0 1,1 0 有這麼乙個題 1.求 9的結果是什麼 解 9的二進位制數表示 0000 1001 9的原碼 0000 1001 9的反碼 0000 1001 9的補碼 0000 ...
python中的按位運算
常見的按位運算有 按位與運算 print 5 0xf print 5 0xf 結果為 115由上可知 python中進行按位與運算結果必然是正數,最高位是符號位的特質消失。主要是限定變數的位數 因為python中沒有int long來限制位數 按位或運算 print 5 0xf print 5 0x...
python 中的按位運算
1 按位運算子是把數字看作二進位制來進行計算的。python 的內建函式 bin 可已將乙個整數數值轉換成相應的二進位制值。示例 2 按位與 參與運算的兩個值,如果其二進位制值對應位都為1,則該位的結果為1,否則該位為 0 示例 3 按位或 只要對應的二個二進位有乙個為 1 時,結果位就為 1,只有...