java中>>>是什么意思_请问java中的>>>和>>>=是什么意思

public class TestRightMove {

public static void main(String[] args){

int a = 5;//00000101

int b = a >> 2;

System.out.println("b= "+b);//1

System.out.println( Integer.toBinaryString(a) ) ;

int c = 133;//10000101

int d = c >> 2;

System.out.println("d= "+d);//33

System.out.println( Integer.toBinaryString(c) ) ;

int e = -1;//11111111111111111111111111111111

int f = e >> 2;

System.out.println("f= "+f);//-1

System.out.println( Integer.toBinaryString(e) ) ;

int m = -4;//11111111111111111111111111111100

int n = m >> 2;

System.out.println("n= "+n);//-1

System.out.println( Integer.toBinaryString(m) ) ;

}

}

--------------------------------------------

运行上面的程序也许看的更清楚一些。

我们通常运行的系统是32位系统,java中运行>>符号计算时,其实是对int变量在内存中的存放形式二进制进行移位计算。

比如int a = 5;//00000101,其实在系统中是32位的,前面都是0,所有>>2后就是1,而int e = -1;//11111111111111111111111111111111,首位是1,所有无论怎么移动都是结果都是-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值