java中移位操作

来源:互联网 发布:linux切换为root用户 编辑:程序博客网 时间:2024/05/19 18:39
/**
*
* @author SunRain
*2013-10-14 8:09:50
*在最后一个移位运算中,结果没有直接付给b,而是直接打印出来,所以结果是正确的,
*其他的是会被先转换成int型,再进行右移操作,然后被截断,付给原来的类型,得到的结果可能不是正确的。
*/
public class URShift {

public static void main(String[] args){
int i = -1;
System.out.println("i: " + Integer.toBinaryString(i));
i >>>= 10;
System.out.println("i: " + Integer.toBinaryString(i));

long l = -1;
System.out.println("l: " + Long.toBinaryString(l));
l >>>= 10;
System.out.println("l: " + Long.toBinaryString(l));

short s = -1;
System.out.println("s: " + Integer.toBinaryString(s));
s >>>= 10;
System.out.println("s: " + Integer.toBinaryString(s));

byte b = -1;
System.out.println("b: " + Integer.toBinaryString(b));
b >>>= 10;
System.out.println("b: " + Integer.toBinaryString(b));

b= -1;
System.out.println("b: " + Integer.toBinaryString(b));
System.out.println("b: " + Integer.toBinaryString(b >>> 10));
}
}

原创粉丝点击