这里发生了什么'&燃气轮机&燃气轮机&燃气轮机';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.