java中是支持逻辑移位和算数移位的,简单说,逻辑移位就是不带着符号的移位,算数移位就是带着符号的移位。
看示例程序:
输出结果为:
这说明,在java中,>>>表示算数移位,就是带着符号的移位,>>是逻辑移位,表示不带符号的移位 。
看示例程序:
package com.babyDuncan.Yiwei;
public class testYiwei {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = -64;
int j = i >> 2;
int k = i >>> 2;
int m = k <<2;
System.out.println(j);
System.out.println(k);
System.out.println(m);
}
}
输出结果为:
-16
1073741808
-64
这说明,在java中,>>>表示算数移位,就是带着符号的移位,>>是逻辑移位,表示不带符号的移位 。