java中按位運算

2021-07-28 22:46:46 字數 1190 閱讀 1807

一、位與&:

對應的二進位制位進行與操作,兩個都為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,只有...