&、|、~、、^、<<、>>运算符

这四种运算符都是在2进制的情况下进行的
如10的二进制为00001010(八位)
1的二进制为00000001
1、按位与(&):10&1的结果就是两个二进制数相同位进行按位与,即有0则结果为0,都是1则结果为1
00001010
00000001=00000000
可用来判断一个数的奇偶,如11的二进制数按位与1的二进制数
00001011&00000001=00000001
代码为 if (num &1 ) num为奇则为真,为偶则为假
2、按位或(|):按位或与按位与相似,但运算规则相反,两个数二进制下 的相同位有1个为1则结果为1,都是0结果才为0;
如10|1的结果为00001011,即十进制的11;
00001010
00000001=0001011
3、按位取反(~):二进制下的该数每位取反,0变1、1变0;
如 ~10 的结果为11110101,即为十进制的-11,
4、异或(^):二进制下于相同位数的数相同为假,不同为真。即0 0或1 1的结果为0(二进制下),0 1或1 0的结果为1;
5、左移运算符:num<<n;二进制下的数每一位向左移n位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。
如 10<<1 的结果就为00010100即为十进制下的20.
把一个数左移n位,相当于这个数乘上2^n.

6、左移运算(>>): num>>n;二进制下的数每一位向右移n位,移动的位数由右操作数指定,右操作数必须是非负值,其左边空出的位用0填补,低位右移溢出则舍弃该低位。
如 10>>1 的结果为00000101,即为10进制下的5。
把一个数右移n位,相当于这个数除以2^n.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值