Advertisement

Java位移运算

阅读量:

Java语言中的移位运算主要包括三种形式,分别是左移(<<)、右移(>>)以及带符号右移(>>>)。

在进行移位运算时,其操作对象为整型数据。当对byte、char、short等类型的数据进行操作时,系统会将其自动转换为int类型。对于正数而言,转换过程中高位会补0;而对于负数,则会在高位补1。

1.左移运算

i<<n表示将i对应的二进制数值向左移动n位,其中左侧的n个高位会被舍弃,并在右侧低位补入n个零。

例如:1<<2

1对应的二进制形式为:0000 0000 0000 0000 0000 0000 0000 0001

在左移两位之后变为:0000 0000 0000 0011 1111 1111 1111 1111

最终结果为4

请参阅以下代码

复制代码
  public static void main(String[] args) {

    
 		int i = 1;
    
 		System.out.println(i<<2);
    
 		System.out.println(i<<(2 + 32));
    
 		
    
 		byte b = -2;
    
 		System.out.println(b<<31);
    
 	}
    
    
    
    

输出结果为

复制代码

全部评论 (0)

还没有任何评论哟~