当右移的运算数是byte 和short类型时,将自动把这些类型扩大为 int 型 ,所以对于比int还要小的数值类型(short、byte)不应当进行无符号右移运算。
至于-1>>-1是应该是等于-1的,java中整形 右移运算右边操作数 超过32的,就移动模32取得的余数,如果右边操作数是负数,就用32减去该操作数绝对值模32取得的余数,获得的正数即操作数。
(后面的那个问题,说实话是我以前通过代码试出来的,准确性不敢肯定,不过我试过不少数,得到的都行,在这里,也希望哪位真正知道的兄弟指导一下)作者: 刘圣伟 时间: 2012-8-20 08:00
public class num {
public static void main(String[] args){
int n = Integer.MAX_VALUE;
n=n>>>24;
System.out.print(n);
}
}