提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
学习 二进制机制 >>>1和>>>2
一、>>>的学习
java中“4>>>1”是什么意思?和 JAVA表达式 a >>> 2 什么意思
二、解答4>>>1
2.1.答
是一个运算符,表示为:无符号右移计算。
进行这种符号的运算,需先将要操作的数据转为二进制数后再进行计算。
4是整数,32bit,转为二进制完整形式就是: 00000000 00000000 00000000 00000100
1是整数,32bit,转为二进制完整形式就是: 00000000 00000000 00000000 00000001
4 >>> 1:意味着 4的二进制形式整体向右移动一位,那么最高就少一个一位,用0补位,
因此结果就是: 00000000 00000000 00000000 00000010,该数字转为十进制就是2。
三、解答 a >>> 2
3.1.答
在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;
四、总结
二进制的学习 a >>>b 这个符号就是a转为二进制数然后向右位移b个位置,缺的高位用零补齐