Java位运算符&|^~<<,>>,>>>,的作用

操作符描述例子备注
&两个数字的二进制相对应位置全都为1,那么则为1,否则为0(60&13),得到12,既0000110060的二进制为00111100
13的二进制为
00001101
|两个数字的二进制相对应位置全都为0,那么则为0,否则为1(60|13),得到61,既00111101
^两个数字的二进制相对应位置的值相同,那么则为0,否则为1(60^13),得到49,既00110001
~把这个二进制的数字本来为0的改为1,本来为1的改为0~60得到-61,既11000011
<<将数字转为二进制并且向左移动指定数字位数60<<2得到240既11110000
>>将数字转为二进制并且向右移动指定数字位数60>>2得到15既00001111
>>>将数字转为二进制并且向右移动指定数字位数,移动得到的空位以0补充60>>>2得到15既00001111
注意:因八位(8bit)是一个字节,所以所有的二进制不够八位的,应将高位数补充为0,例如60的二进制为111100则将其补充为00111100,同理如果是9位的二进制数字则需要用两个字节来处理,既在二进制数字前面补充7个0
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值