如下位運算較為常用的還是<<、>>
system.out.println(3<<3) //輸出結果:24 //計算過程:3*2的3次方=3*8=24
system.our.println(8>>2) //輸出結果: 2 //計算過程: 8/2的2次方=8/4=2
1.^(亦或運算) ,針對二進位制,相同的為0,不同的為1
2 *****==>0010public static void main(string args)
3 *****==>0011
2^3就為0001,結果就是1
2.&(與運算)針對二進位制,只要有乙個為0,就為0
還是上述的例子
public static void main(string args)3.<<(向左位移)針對二進位制,轉換成二進位制後向左移動3位,後面用0補齊
public static void main(string args)4.>>(向右位移)針對二進位制,轉換成二進位制後向右移動3位,
public static void main(string args)5.>>>(無符號右移)無符號右移,忽略符號位,空位都以0補齊
10進製轉二進位制的時候,因為二進位制數一般分8位、 16位、32位以及64位 表示乙個十進位制數,所以在轉換過程中,最高位會補零。
在計算機中負數採用二進位制的補碼表示,10進製轉為二進位制得到的是原始碼,將原始碼按位取反得到的是反碼,反碼加1得到補碼
二進位制的最高位是符號位,0表示正,1表示負。
>>>與》唯一的不同是它無論原來的最左邊是什麼數,統統都用0填充。
——比如,byte是8位的,-1表示為byte型是11111111(補碼表示法)
b>>>4就是無符號右移4位,即00001111,這樣結果就是15。
下面看**
public static void main(string args)
public static void main(string args)
public static void main(string args)
public static void main(string args)可見正數做》運算的時候和》是一樣的。區別在於負數運算
Java位運算總結
1.原始碼,反碼,補碼 1 正整數的原碼反罵補碼都和原碼一樣,都為該數的二進位制表示 2 負數的反碼是原碼的二進位制除了符號位之外,各位取反,補碼是在反碼末尾 1 3 僅有帶符號整數會有各種編碼,無符號整數沒有 4 在計算機內,負數都是存為補碼的,這樣可以將符號位和其他為統一處理,1.邏輯左移,符號...
位運算總結
位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位...
位運算總結
位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位...