Java中位运算符

1.左移:“<<”:

        31 << 3 = 248 = 31 * 2 * 2 * 2,  如下图:


2. 右移:“>>” 与 无符号右移 :“>>>”:

          ①:正数:31 >> 2 = 7  

                          31 >>> 2 = 7(正数右移和无符号右移移位后,最高位都用0来补)


          ②:负数:-31 >> 2 = -8  (右移后,最高位用1来补)

                          -31 >>> 2 =1073741816  (右移后,最高位用0来补)


最后是相对应的代码:

class Student{
public static void main (String[] args){

int i1 = 31;

//"<<":

System.out.println(i1<<3);//248

//">>"与">>>":正数
System.out.println(i1>>2);//7
System.out.println(i1>>>2);//7
//">>"与">>>":负数
int i2 = -31;
System.out.println(i2>>2);//8
System.out.println(i2>>>2);//1073741816
}


          


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值