左移运算符(<<)用于将一个操作数的所有二进制位左移指定的位数,并在低位填充0。左移运算符的语法如下:
int result = operand << shiftCount;
其中,operand表示要进行左移运算的操作数,shiftCount表示要左移的位数。以下是左移运算符的示例:
int a = 10; // 1010
int b = a << 2; // 101000
System.out.println(b); // 输出40
在这个示例中,我们定义了一个整数变量a,并将它的值设置为10。然后我们使用左移运算符(<<)将a的二进制数左移两位,并将结果存储在变量b中。由于左移两位相当于将10乘以2的2次方(即40),因此结果为40。
右移运算符(>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充符号位。如果操作数是正数,则在高位填充0;如果操作数是负数,则在高位填充1。右移运算符的语法如下:
int result = operand >> shiftCount;
其中,operand表示要进行右移运算的操作数,shiftCount表示要右移的位数。以下是右移运算符的示例:
int a = 10; // 1010
int b = a >> 2; // 10
System.out.println(b); // 输出2
在这个示例中,我们定义了一个整数变量a,并将它的值设置为10。然后我们使用右移运算符(>>)将a的二进制数右移两位,并将结果存储在变量b中。由于右移两位相当于将10除以2的2次方(即2),因此结果为2。
无符号右移运算符(>>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充0。无符号右移运算符不考虑符号位,因此无论操作数是正数还是负数,在高位都填充0。无符号右移运算符的语法如下:
int result = operand >>> shiftCount;
其中,operand表示要进行无符号右移运算的操作数,shiftCount表示要右移的位数。以下是无符号右移运算符的示例:
int a = -10; // 11111111111111111111111111110110
int b = a >>> 2; // 00111111111111111111111111111101
System.out.println(b); // 输出1073741821
在这个示例中,我们定义了一个整数变量a,并将它的值设置为-10。由于a是负数,因此在进行无符号右移运算时,在高位填充的是0而不是1。我们使用无符号右移运算符(>>>)将a的二进制数右移两位,并将结果存储在变量b中。由于右移两位相当于将原数除以2的2次方(即1073741824),因此结果为1073741821。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。