java中<<,>>和>>>

       虽然在平常的开发中很少用到Java的这三个操作符,但是今天遇到了,有必要研究研究。本质上没有什么难的。自己写了几行代码,用作测试,下面直接上代码:

System.out.printf("a = 0x%x \n", a);
        int b = a >> 4;
        System.out.printf("b = 0x%x \n", b);
        int c = a >>> 4;
        System.out.printf("c = 0x%x \n", c);
        int d = a << 4;
        System.out.printf("d = 0x%x \n", d);

然后运行直接得到结果如下:

a = 0x80008000 
b = 0xf8000800 
c = 0x8000800 
d = 0x80000 

这里a = 0x80008000 由整数表示方法知道,该数为一个负数-2147450880,分析输出结果可以知道。

1: >> 运算符用于有符号的右移,又叫做算数右移, 在移动过程中,最高位补符号位。

2:>>>运算符用于无符号的右移,在移动过程中,最高位补0.

3:<< 运算福用户左移,这里没有符号的概念,左移后,最低位补0.

需要注意的是java中不支持<<<运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值