Python运算符之位运算(&,^,|,~,<<,>>)

Python位运算符有如下几种

  1.&:按位与:两位都为1,结果为1,否则为0

  2.|:按位或:只要有一位为1,结果就为1

  3.^:按位异或:两对应的二进位相异时,结果为1

  4.~: 按位取反,即把1变为0,把0变为1,相当于(-x-1)

  5.<<:左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。

  6.>>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
a = 60  # 二进制位 0011 1100
b = 13  # 二进制位 0000 1101
 
'''
a&b        按位与:两位都为1,结果为1,否则为0
a          0011 1100
b          0000 1101
二进制结果   0000 1100
十进制结果   12
'''
print(a & b)
 
 
'''
a|b        按位或:只要有一位为1,结果就为1
a          0011 1100
b          0000 1101
二进制结果   0011 1101
十进制结果   61
'''
print(a | b)
 
'''
a^b        按位异或:两对应的二进位相异时,结果为1
a          0011 1100
b          0000 1101
二进制结果   0011 0001
十进制结果   49
'''
print(a ^ b)
 
'''
~a          按位取反,即把1变为0,把0变为1,相当于(-x-1)
a           0011 1100
~a          1100 0011
十进制结果    -61
'''
print(~a)
 
'''
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
a                0011 1100
a << 2           1111 0000
十进制结果         240
'''
print(a << 2)
 
 
'''
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
a         0011 1100      
a >> 2    0000 1111
十进制结果   15
'''
print(a >> 2)

  

posted @   那就凑个整吧  阅读(1143)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示