Part Two 位运算符

Part One 进制转换

Part Two 位运算符


1. 按位与运算&

1.1 按位与

根据二进制进行按位与&

&这个符号是键盘上5对应的符号,想要输入这个符号同时按住shift5即可

1.2 运算
1.2.1 运算规则
aba&b结论
000有0则为0
010有0则为0
100有0则为0
111全为1则为1
1.2.2 二进制

0101&0100=0100(注:0101、0100均为二进制数)

在这里插入图片描述

1.2.3 八进制

47&33=3(注:47、33、3均为八进制数)

在这里插入图片描述

1.2.4 十进制

38&93=4(注:38、93、4均为十进制数)

在这里插入图片描述

1.2.5 十六进制

784&DBA=580(注:784、DBA、580均为十六进制数)

在这里插入图片描述

1.2.6 X进制

先将X进制数转换成二进制数,再进行按位与运算,最后再将结果转换成X进制数


2. 按位或运算|

2.1 按位或

根据二进制进行按位或|

|这个符号是键盘上\对应的符号,想要输入这个符号同时按住shift和*\*即可

2.2 运算
2.2.1 运算规则
aba|b结论
000全为0则为0
011有1则为1
101有1则为1
111有1则为1
2.2.2 二进制

0101|0100=0101(注:0101、0100均为二进制数)

在这里插入图片描述

2.2.3 八进制

47|33=77(注:47、33、77均为八进制数)

在这里插入图片描述

2.2.4 十进制

38|93=127(注:38、93、127均为十进制数)

2.2.5 十六进制

784|DBA=FBE(注:784、DBA、FBE均为十六进制数)

在这里插入图片描述

2.2.6 X进制

先将X进制数转换成二进制数,再进行按位或运算,最后再将结果转换成X进制数


3. 按位异或运算^

3.1 按位异或

根据二进制进行按位异或^

^这个符号是键盘上6对应的符号,想要输入这个符号同时按住shift6即可(英文输入法)

3.2 运算
3.2.1 运算规则
aba^b结论
000二者相同时结果为0
011二者不同时结果为1
101二者不同时结果为1
110二者相同时结果为0
3.2.2 二进制

0101^0100=0001(注:0101、0100、0001均为二进制数)

3.2.3 八进制

47^33=74(注:47、33、74均为八进制数)

在这里插入图片描述

3.2.4 十进制

38^93=123(注:38、93、123均为十进制数)

在这里插入图片描述

3.2.5 十六进制

784^DBA=A3E(注:784、DBA、A3E均为十六进制数)

在这里插入图片描述

3.2.6 X进制

先将X进制数转换成二进制数,再进行按位异或运算,最后再将结果转换成X进制数


4. 左移<<

4.1 左移

根据二进制进行按位左移<<

<<这个符号是键盘上,对应的符号,想要输入这个符号同时按住shift和,两次即可(英文输入法)

4.2 运算
4.2.1 运算规则

左移是对一个数进行二进制的移位操作
左移1位可以理解为十进制数的 × \times × 2 2 2操作
左移n位可以理解为十进制数的 × \times × 2 n 2^n 2n操作

4.2.2 二进制

0101<<1=1010(注:0101、1010均为二进制数)

在这里插入图片描述

4.2.3 八进制

47<<1=116(注:47、116均为八进制数)

在这里插入图片描述

4.2.4 十进制

38<<1=76(注:38、76均为十进制数)

在这里插入图片描述

4.2.5 十六进制

784<<1 = F08(注:784、F08均为十六进制数)

在这里插入图片描述

4.2.6 X进制

先将X进制数转换成二进制数,再进行左移运算,(记得低位补0,)最后再将结果转换成X进制数


5. 右移>>

5.1 右移

根据二进制进行按位右移>>

> > >> >>这个符号是键盘上,对应的符号,想要输入这个符号同时按住shift和.两次即可(英文输入法)

5.2 运算
5.2.1 运算规则

右移是对一个数进行二进制的移位操作
右移1位可以理解为十进制数的 ÷ \div ÷ 2 2 2操作
右移n位可以理解为十进制数的 ÷ \div ÷ 2 n 2^n 2n操作

5.2.2 二进制

0101>>1= 0010(注:0101、0010均为二进制数)

5.2.3 八进制

47>>1= 23(注:47、23均为八进制数)

在这里插入图片描述

5.2.4 十进制

38>>1=19(注:38、19均为十进制数)

在这里插入图片描述

5.2.5 十六进制

784>>1 = 3C2(注:784、3C2均为十六进制数)

5.2.6 X进制

先将X进制数转换成二进制数,再进行右移运算,(记得高位补符号位,)最后再将结果转换成X进制数


6. 位运算表

aba&ba|ba^b
00000
01011
10011
11110
全为1才为1全为0才为0二者相同为0不相同为1

7. 写在最后

位运算符的掌握可以为我们做算法题提供新思路。


8. 文档分享

如果您觉得这份关于位运算符的文档还不错,尝试点击分享这份文档给好友吧!


作者 @MythicalCreature
于2020 年 08月 14日重新发布

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值