色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java的左移右移和無符號右移

林雅南1年前6瀏覽0評論

Java中的位移運算包括左移(<<)、右移(>>)和無符號右移(>>>)三種。它們都是基于二進制位的運算,對于整數類型的變量進行操作。

左移運算符將一個整數的所有二進制位向左移動指定的位數,高位補0。例如:

int a = 3;   // 0b0011
int b = a<< 2;   // 0b1100

在這個例子中,將a的二進制位左移2位,得到的結果是0b1100。左移運算符實際上是將原來的數乘以2的移位次方。

右移運算符將一個整數的所有二進制位向右移動指定的位數,低位補0或1。如果該數為正數,則低位補0;否則,低位補1。例如:

int a = -8;   // 0b11111111111111111111111111111000
int b = a >>2;   // 0b11111111111111111111111111111110

在這個例子中,將a的二進制位右移2位,得到的結果是0b11111111111111111111111111111110。右移運算符實際上是將原來的數除以2的移位次方。

無符號右移運算符也是將一個整數的所有二進制位向右移,但是不管該數為正數還是負數,都是在高位補0。例如:

int a = -8;   // 0b11111111111111111111111111111000
int b = a >>>2;   // 0b00111111111111111111111111111110

在這個例子中,將a的二進制位無符號右移2位,得到的結果是0b00111111111111111111111111111110。無符號右移運算符實際上是將原來的數除以2的移位次方,并將結果轉換為無符號數。