day7 作业

2019-01-02  本文已影响0人  _最美不是下雨天_

1.

使用位运算判断一个数是否是奇数

num1=int(input('请输入一个整数:'))
if num1 & 1 == 1:
    print('%d 是奇数'%(num1))
else:
    print('%d 是偶数' % (num1))

2.

表达式0x13 & 0x17

的值是(0x13)

#00010011
#00010111
#00010011

3.

若x = -20, y = 3

则x & y的结果是( 0)

#10010100--11101011--11101100
#00000011--00000011--00000011
#10000000

4.

表达式 - 97 | 120

的运算结果是(-1)

#11100001--10011110--10011111
#01111000--01111000--01111000
#11111111--11111110--10000001

5.

在位运算中,操作数每右移一位,其结果相当于(B )

A.操作数乘以2
B.操作数除以2
C.操作数除以4
D.操作数乘以4

6.

设x

是一个整数(16

位).若要通过x | y使x低度8位置1,高8位不变,则y的二进制数是( 0000000011111111)

7.

总结常用的位运算使用技巧(自己查自己,觉得好用记得住的)

a.计算一个值是否是2的次幂:如果一个数是2的次幂,那么除首位,其余为肯定都为0,减一后其余为为1

num4=63
num4=num4 & (num4-1)
print(num4)#此处如果返回的值为0,则表示该数为2的N次幂

b.交换两个数

num5=2
num6=4
num5 = num5 ^ num6
num6 = num6 ^ num5
num5 = num5 ^ num6
print(num5,num6)
上一篇 下一篇

猜你喜欢

热点阅读