Java中的 << 、 >> 、 >>> 三种位运算符分析

  • Post author:
  • Post category:java


Java中有三种位运算符 分别为<<、>>和>>>

分别表示:


<<  	:		左移运算符,num<<1,左移1位,空位都以0补齐
>>  	:       右移运算符,num>>1,右移1位,多余位直接去掉
>>> 	:       无符号右移,忽略符号位,空位都以0补齐
//下面通过一个小的案例来理解一下位运算
	public class TestBitwise {
	
		public static void main(String[] args){
				int number = 11;
				//输出11的二进制
				 printInfo(number);
				 number = number>>1;
				 //输出右移一位的二进制
				 printInfo(number);
				 number = number<<3;
				 //输出左移3位的二进制
				 printInfo(number);
		}
		//输出一个int类型的二进制
		private static void printInfo(int num){
				System.out.println(Integer.toBinaryString(num));
		}
		
	}

运行结果为:

1011

101

101000

看完上边的案例,应该可以理解左移和右移了。

对于:>>>

无符号右移,忽略符号位,空位用0补齐

value>>>num num用来指定value无符号右移的位数

无符号位移的规则只需要记住一点:忽略符号位的扩展,用0补最高位。

无符号右移运算>>> :只是对32位和64位的值有意义。

本博客仅供个人学习使用,如有侵权,敬请谅解。



版权声明:本文为gongchengshi9527原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。