Java 中的位移运算

位移运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

计算规则如下:

左移n位相当于乘以2的n次方。

右移n位相当于除以2的n次方。这里是取商哈,余数就不要了。

③ >>>(无符号右移)

   运算规则:

   按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。 其他结构和>>相似。

示例

  1. long a = 0x3;  
  2. long b = 30;  
  3. long longLeft  = a << b;  
  4. System.out.println(longLeft);  
  5. System.out.println(0x3 << 30);  
  6. System.out.println("-----");  
  7. System.out.println(Math.pow(-231));  
  8. System.out.println(Integer.MIN_VALUE);  
  9. System.out.println("-----");  
  10. System.out.println(Math.pow(231) - 1);  
  11. System.out.println(Integer.MAX_VALUE);  
结果

  1. 3221225472  
  2. -1073741824  
  3. -----  
  4. -2.147483648E9  
  5. -2147483648  
  6. -----  
  7. 2.147483647E9  
  8. 2147483647  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值