Java位移运算符原理

* 总体概念:
* 1.位移运算符只对位进行操作
* 2.只能操作int整型数据类型
* 3.右移补高位,左移补底位
* >> 有正负之分的右位移运算符,把字节向右移由右边操作数指定的位数,如果左边操作数是正数,则移动的高位补0 ,反之则补1
* >>>无符号之分的右移运算符,即不管左边操作数的正负,高位都补0
* << 左移运算符,向左移动由右边操作数指定的位数,移动后底位自动补0
作用:对于大数据的2进制运算,位移运算符比那些普通运算符的运算要快很多,因为程序仅仅移动一下而已,不去计算,这样提高了效率,节省了资源.www.zgxxbbs.cn
这是我现在位置发现的位移运算符的位移作用.可能还有,但是我真的不知道.
System.out.println("1<<2="+(1<<2));
System.out.println("1<<8="+(1<<8));
System.out.println("1<<16="+(1<<16));
System.out.println("1<<24="+(1<<24));
System.out.println("1<<31="+(1<<31));
System.out.println("1<<32="+(1<<32));

1<<2=4
1<<8=256
1<<16=65536
1<<24=16777216
1<<31=-2147483648
1<<32=1
谢谢博友们。
位运算符就是指对整数的二进制表示中的每一位进行操作,所得的结果一定是整数:
位运算符:
~ 位反 ~00110011 11001100
& 位与 00110011&11101101 00100001
| 位或 00110011|11100001 11110011
^ 位异或 00110011^11100001 11010010
<< 左移 00110011<<2 11001100
>> 右移 10110011 >> 2 11101100
>>> 不带符号右移 10110011>>2 00101100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值