-1“无符号”右移10位后是怎么变成4194303的!

        Java中增加了一种“无符号”右移操作符(>>>),它使用“零扩展”:无论正负,都在高位插入0。这一操作符是C或C++中所没有的!

        整数-1右移10位后怎么变成4194303的呢?原来,-1在32位计算机内采用补码表示后是:11111111111111111111111111111111,即32个1。再无符号右移10位只剩下22位1,因为高十位全是0,这样就变成1111111111111111111111,换算成整数就是4194303了!有兴趣的读者可以写一段程序测试一下! 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值