python二級--讓人又愛又恨的位運算符

一、小試牛刀

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

六、贈語

三十功名塵與土,八千里路云和月。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容