JAVA表达式 a >>> 2 什么意思

JAVA表达式 a >> > 2什么意思

>>>  在Java语言中表示无符号右移,忽略符号位,高位都以0补齐

a >>> 2表示整数a无符号向右移2位,高位以0补齐.

我给你个Java语言的例子,你看看吧

public class A {
 public static void main(String[] args) {
  int a=-20;
  System.out.println(Integer.toBinaryString(a)); 
  //>>>  无符号右移,忽略符号位,高位都以0补齐
  int result=a>>>2;
  System.out.println(Integer.toBinaryString(result));
 }
}

运行结果
11101011
111010

说明  
-20的二进制为 1110 1011,右移2位,此时高位补0,即 0011 1010,结果为 result = 58;

温馨提示:内容为网友见解,仅供参考
无其他回答

JAVA表达式 a >>> 2 什么意思
>>> 在Java语言中表示无符号右移,忽略符号位,高位都以0补齐 a >>> 2表示整数a无符号向右移2位,高位以0补齐.我给你个Java语言的例子,你看看吧 public class A { public static void main(String[] args) { int a=-20; System.out.println(Integer.toBinaryString(a)); \/\/>>>...

JAVA表达式 a >>> 2什么意思
(2)>> : (signed right-shift), 右移过程使用符号位扩展(sign extension),即如果符号为为1则高位补1, 是0则补0,也就是逻辑右移 (3)>>> : (unsigned right-shit),右移过程使用零扩展(zero extension),即最高位一律补0,也就是算术右移 (4)移位操作的数据类型可以是byte, char,...

设a = 8,则表达式 a >>> 2 的值是 ??? Java中的
a>>2;相同a对应的二进制右移二位,右移一位相当于除于2,二位即是除于4。如果是a>>2,应该是8\/4=2。循环移位运算是把数值变成二进制然后进行循环移动的运算。用到循环移位的操作时,在汇编里面是比较容易实现的,ror,rol指令就行了。利用位运算进行循环移位操作比较容易理解。如果不是循环移位...

运算符>>和>>>有什么区别
1、>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1。如:int i=15; i>>2的结果是3,移出的部分将被抛弃。转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。java中测试代码如下:2、>>>表示无符号...

java中的>>>和>>>=是什么意思
“>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0。当我们要作位移的原始值并非代表数值时(例如:表示颜色图素的值,最高位并非正负号),可能就会需要使用此种无符号的位移。比如:-10>>>2=1073741821 -10=1111 ...

Java 中“>>”和“>>>”有什么区别?
Java中的位运算符:>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。表达式为:result = exp1 >> exp2;result = exp2 >>> exp2;表示把数exp1向右移动exp2位。例如:r...

java三目运算符
Java中的三目运算符,通常写成"表达式 ? 表达式1 : 表达式2"的形式,它的基本逻辑是:如果"表达式"的值为真(如a > b),那么运算结果就是"表达式1"的值(例如a);否则,结果就是"表达式2"的值(例如b)。在具体的代码中,如判断变量year与对象a的year值的关系,步骤如下:首先,检查year是否...

java的运算符
a:b; \/\/max等于2(5)强制类型转换符 强制类型转换符能将一个表达式的类型强制转换为某一指定数据类型,其语法形式为: (<类型>)<表达式>(6)对象运算符instanceof 对象运算符instanceof用来测试一个指定对象是否是指定类(或它的子类)的实例,若是则返回true,否则返回false。(7)点运算符 点运算符“.”的功能...

JAVA求表达式-1<<2,-1>>2和-1>>>2的值
程序:public class Move { public static void main(String args[]){ System.out.println(-1<<2);System.out.println(-1>>2);System.out.println(-1>>>2);} } 输出答案:-4 -1 1073741823

int a=-2;表达式a>>>3的值是多少???在线等
a>>>3 这不是C++的,而是 JAVA中的无符号右移。即将a右移1位后,然后最高位置0。

相似回答