这里发生了什么'&燃气轮机&燃气轮机&燃气轮机';java中的运算符?

这里发生了什么'&燃气轮机&燃气轮机&燃气轮机';java中的运算符?,java,operators,Java,Operators,我这里有一个简单的程序。我知道它会右移零填充运算符。左操作数值按右操作数指定的位数向右移动,移位值用零填充 package com.demo.operator; public class Test123 { public static void main(String args[]) { int a = 60; int c = 0; c = a >>> 2; Syste

我这里有一个简单的程序。我知道它会右移零填充运算符。左操作数值按右操作数指定的位数向右移动,移位值用零填充

package com.demo.operator;
public class Test123 {

      public static void main(String args[]) {
         int a = 60;      
         int c = 0;

         c = a >>> 2;     
         System.out.println("a >>> 2 = " + c );
      }
    } 
输出:
a>>>2=15

谁能告诉我


如何给出输出
a>>2=15

>
是无符号右移运算符。因为在二进制中,
a
是60,60是
111100
,当您右移两次时,会得到
1111
,即15。

>
是无符号右移运算符。由于
a
是60,60是二进制的
111100
,当您右移两次时,您会得到
1111
,即15。

检查文档中是否有

x=10000000 00000000 00000000 01100000

x>>>4然后
x=000010000000000000000000000000110

您可以看到最右边的符号位也向右移,但这对于
>
不是真的

如果
x=00000000000000000000111100
x=60

现在
x>>>2
所以
x=000000000000000000001111
就是
x=15

x=10000000 00000000 00000000 01100000

x>>>4然后
x=000010000000000000000000000000110

您可以看到最右边的符号位也向右移,但这对于
>
不是真的

如果
x=00000000000000000000111100
x=60


现在
x>>>2
所以
x=000000000000000000000001111
就是
x=15

如果你得到15,并且你知道操作符是如何工作的,我不确定这里要问什么。输出似乎就是你要求的输出。因为二进制中的右移等于除以2(在十进制中,它除以10),你所做的可以被认为是再次除以2和2,或者除以4如果你得到15,并且你知道运算符是如何工作的,我不确定这里要问什么。输出似乎就是你要求的输出。因为二进制中的右移与除以2是一样的(在十进制中,它除以10),你所做的可以被认为是再次除以2和2,或者除以4OP状态他们知道
>>
做什么。OP状态他们知道
>
做什么。
>>> is the logical (or unsigned) right shift operator.