day7作业

2019-01-04  本文已影响0人  xue_y

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

num = int(input('请输入数字:'))
if num & 1 == 1:
    print('%d为奇数' % num)
else:
    print('%d为偶数' % num)

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

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的二进制数是(11111111 )

7.总结常用的位运算使用技巧(自己查自己,觉得好用记得住的)
a.判断是不是2的整数次幂

num1 = int(input())
if num1 & (num1-1) == 0 and num1 != 0:
    print('为2的正整数幂')

b.交换两个数的值

a = 3
b = 2
a = a ^ b
b = b ^ a
a = a ^ b
print(a, b)

c.求两个数的平均数

num1 = int(input('输入第一个数:'))
num2 = int(input('输入第二个数:'))
num3 = ((num1 ^ num2)>> 1) + (num1 & num2)
print(num3)
上一篇 下一篇

猜你喜欢

热点阅读