2019-01-02Day7作业

2019-01-03  本文已影响0人  十二只猴子z

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

num = int(input('输入一个数:'))
if num & 1 == 1:
    print('%d是奇数' % num)

2.表达式0x13&0x17的值是(0x13 )

3.若x=-20,y=3则x&y的结果是( 0)

4.表达式 -97 | 120 的运算结果是( -1 )

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

A.操作数乘以2 B.操作数除以2

C.操作数除以4 D.操作数乘以4

6.设x 是一个整数(16位).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是( 1111111)

7.总结常用的位运算使用技巧

1.&的使用技巧

x&(x-1)
消去x最后一位的1
1.可以用来检测一个数是不是2的幂次。

如果一个数x是2的幂次,那么x>0且x的二进制中只有一个1,所以用x&(x-1)把1消去,应该返回0,如果返回了非0值,证明不是2的幂次

2.计算一个整数二进制中1的个数

因为1可以不断的通过x&(x-1)这个操作消去,所以当最后的值变成0的时候,也就求出了二进制中1的个数

上一篇下一篇

猜你喜欢

热点阅读