一、小試牛刀

1.jpg
二、細說那些讓人又愛又恨的位運算符

圖1.png
三、實例
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 12 = 0000 1100
print("1 - c 的值為:", c)
c = a | b # 61 = 0011 1101
print("2 - c 的值為:", c)
c = a ^ b # 49 = 0011 0001
print("3 - c 的值為:", c)
c = ~a # -61 = 1100 0011
print("4 - c 的值為:", c)
c = a << 2 # 240 = 1111 0000
print("5 - c 的值為:", c)
c = a >> 2 # 15 = 0000 1111
print("6 - c 的值為:", c)
輸出結(jié)果:
1 - c 的值為: 12
2 - c 的值為: 61
3 - c 的值為: 49
4 - c 的值為: -61
5 - c 的值為: 240
6 - c 的值為: 15
四、場景應(yīng)用
1、判斷奇偶性
# 判斷奇偶性
n = int(input('請輸入一個數(shù):'))
if n & 1 == 0:
print(n, '是偶數(shù)')
else:
print(n, '是奇數(shù)')
輸出結(jié)果:
請輸入一個數(shù):12
12 是偶數(shù)
五、選擇題解析
對進制轉(zhuǎn)換不熟悉,可以看筆者的一篇文章《python二級--一篇搞懂進制轉(zhuǎn)換》
解析:
20對應(yīng)的二進制0b10100
3對應(yīng)的二進制0b00011
7對應(yīng)的二進制0b00111
20 | 3
===>
0b10111轉(zhuǎn)換為10進制為23
==================
20 & 7
===>
0b00100轉(zhuǎn)換為10進制為4
六、贈語
三十功名塵與土,八千里路云和月。