有符号的右移运算符>>将一个位模式右移。该运算符使用两个操作数进行操作,左操作数要移位,右操作数告诉要移位多少位置。
1000使用>>运算符2的位置移动位图将产生0010位图。带符号的右移运算符产生的结果等于将数字除以2。
package org.nhooo.example.fundamental;
public class SignedRightShiftOperator {
public static void main(String[] args) {
// 32的二进制表示为
// "00000000000000000000000000100000"
int number = 32;
System.out.println("number = " + number);
System.out.println("binary = " + Integer.toBinaryString(number));
//使用右移运算符将位移位
//向右四次产生结果
//“ 00000000000000000000000000000010”
int shiftedRight = number >> 4;
System.out.println("shiftedRight = " + shiftedRight);
System.out.println("binary = " +
Integer.toBinaryString(shiftedRight));
}
}代码段的结果:
number = 32 binary = 100000 shiftedRight = 2 binary = 10