慕的地10843
public class TestRightMove {public static void main(String[] args){int a = 5;//00000101int b = a >> 2;System.out.println("b= "+b);//1System.out.println( Integer.toBinaryString(a) ) ;int c = 133;//10000101int d = c >> 2;System.out.println("d= "+d);//33System.out.println( Integer.toBinaryString(c) ) ;int e = -1;//11111111111111111111111111111111int f = e >> 2;System.out.println("f= "+f);//-1System.out.println( Integer.toBinaryString(e) ) ;int m = -4;//11111111111111111111111111111100int n = m >> 2;System.out.println("n= "+n);//-1System.out.println( Integer.toBinaryString(m) ) ;}}--------------------------------------------运行上面的程序也许看的更清楚一些。我们通常运行的系统是32位系统,java中运行>>符号计算时,其实是对int变量在内存中的存放形式二进制进行移位计算。比如int a = 5;//00000101,其实在系统中是32位的,前面都是0,所有>>2后就是1,而int e = -1;//11111111111111111111111111111111,首位是1,所有无论怎么移动都是结果都是-1
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态