我这里有一个简单的程序。我知道它右移零填充运算符。左操作数值向右移动右操作数指定的位数,移位值用零填充。
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
?
答案 0 :(得分:5)
>>>
是无符号右移运算符。由于a
为60且60为111100
二进制,因此当您向右移两次时,得到1111
即15。
答案 1 :(得分:0)
>>> is the logical (or unsigned) right shift operator.
允许x= 10000000 00000000 00000000 01100000
x>>> 4然后x = 00001000 00000000 00000000 00000110
你可以看到最右边的标志位也正在转移到右边但是>>
不是这样。
如果x = 00000000 00000000 00000000 00111100
,即x = 60
现在x>>>2
所以x = 00000000 00000000 00000000 001111
是x = 15
。
答案 2 :(得分:-1)