有符号的右移运算符>>将一个位模式右移。该运算符使用两个操作数进行操作,左操作数要移位,右操作数告诉要移位多少位置。
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