Java bit operation (2)

/**
 * 1. 算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位
 * 2. 算术左移 >>:符号位不变,低位补0
 * 3. >>> 逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
 * 4. 特别说明:没有 <<< 符号
 */
public class BitOperator2{
 	public static void main(String[] args){
        //00000001 -> 00000000 结果为0
 		int a = 1 >> 2;
        //10000001 -> 10000001 结果为-1
 		int b = -1 >> 2;
        //00000001 -> 00000100 结果为4
 		int c = 1 << 2;
        //10000001 -> 10000100 结果为-4
 		int d = -1 << 2;
        //00000011 -> 00000000 结果为0
 		int e = 3 >>> 2;
 		System.out.println("a=" + a);
 		System.out.println("b=" + b);
 		System.out.println("c=" + c);
 		System.out.println("d=" + d);
 		System.out.println("e=" + e);
 	}
 }

 

Guess you like

Origin blog.csdn.net/Danelxiong/article/details/127826622