1.使用位運(yùn)算判斷一個(gè)數(shù)是否是奇數(shù)
num = int(input('請(qǐng)輸入數(shù)字:'))
if num & 1 == 1:
print('%d為奇數(shù)' % num)
else:
print('%d為偶數(shù)' % num)
2.表達(dá)式0x13&0x17的值是( 19)
3.若x=-20,y=3則x&y的結(jié)果是(0 )
4.表達(dá)式 -97 | 120 的運(yùn)算結(jié)果是(-1)
5.在位運(yùn)算中匹表,操作數(shù)每右移一位,其結(jié)果相當(dāng)于(B )
A.操作數(shù)乘以2 B.操作數(shù)除以2
C.操作數(shù)除以4 D.操作數(shù)乘以4
6.設(shè)x 是一個(gè)整數(shù)(16位).若要通過(guò)x|y使x低度8位置1宣鄙,高8位不變袍镀,則y的二進(jìn)制數(shù)是(11111111 )
7.總結(jié)常用的位運(yùn)算使用技巧(自己查自己,覺(jué)得好用記得住的)
a.判斷是不是2的整數(shù)次冪
num1 = int(input())
if num1 & (num1-1) == 0 and num1 != 0:
print('為2的正整數(shù)冪')
b.交換兩個(gè)數(shù)的值
a = 3
b = 2
a = a ^ b
b = b ^ a
a = a ^ b
print(a, b)
c.求兩個(gè)數(shù)的平均數(shù)
num1 = int(input('輸入第一個(gè)數(shù):'))
num2 = int(input('輸入第二個(gè)數(shù):'))
num3 = ((num1 ^ num2)>> 1) + (num1 & num2)
print(num3)