位运算相关

通常位运算包括:位逻辑运算,移位运算。

位逻辑运算:

按位非:~

按位与:&

按位或:|

按位异或:^


移位运算:

左移动:<< java中的最高位为符号位,移位注意最高位被占用。

右移动:>>最高位符号位保存不变

右移动用0填充:>>>最高位用0填充


按位非:~常用于求正值的负数或负值的正数。

eg:

int a = 9;

int b = ~a + 1;

b == -9;    


按位与

(1)可以用于清零 10100111 & 00000000

(2)可以取其中的位:10100111 & 00001111

按位或

(1)将某些位固定为1

按位异或

(1)特定位翻转 10001110^00001111 == 10000001

(2)保留原值

(3)交换两个值 a = a^b;b = a^b;a = a^b; 


运算符优先级

~ < 算术运算符 < & < ^ <

eg:

int n = 7;

n<<=3;

n = n&n+1|n+2^n+3;

n>>=2;

结果:n=14

n&n+1|n+2^n+3 =(n&(n+1))|((n+2)^(n+3))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值