位运算总结,&,|,^,~,>>,<<

位运算操作符介绍

  • & 按位与
  • | 按位或
  • ^ 按位异或
  • ~ 按位取反
  • >> 按位右移
  • << 按位左移

& 运算符
a&b是将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上。如果两数位数不同,则较短数高位补零,再运算。
9&8 转换成二进制
1001
&1000

结果是1000

| 运算符
a|b是将两个表达式的值按二进制位展开,对应的位(bit)按值进行“或”运算,结果保留在该位上。如果两数位数不同,则较短数高位补零,再运算。
9|8 转换成二进制
1001
|1000

结果是1001

^ 运算符
a^b是将两个表达式的值按二进制位展开,对应的位(bit)按值进行“异或”运算,结果保留在该位上。如果两数位数不同,则较短数高位补零,再运算。
9^8 转换成二进制
1001
|1000

结果是0001

~ 运算符
单目运算符,对每一位取反
~9的运算为:
~0000000000001001
1111111111110110
所以~9=65526

>> 运算符
右移运算符>>用来把操作数的各二进位全部右移若干位,低位丢弃,高位补0(或1)。例如:

a=9; //对00001001进行右移
a>>3; //右移3位

结果是00000001

<<运算符
左移运算符<<用来把操作数的各二进位全部左移若干位,高位丢弃,低位补0。例如:

a=9; //对00001001进行左移
a<<3;//左移3位
结果是01001000(十进制72)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值