美文网首页
2019-01-02 作业

2019-01-02 作业

作者: ychaochaochao | 来源:发表于2019-01-02 19:42 被阅读0次

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

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

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

0X13: 010011
0x17: 010111
0x13&0x17 == 010011 (正数)
num=0b010011
print(num) #19

3.若x=-20,y=3则x&y的结果是(0 )
-20:110100(原) 101011(反) 101100(补)
3: 000011
x&y: 000000->0

4.表达式 -97 | 120 的运算结果是( -1 )
-97:11100001(原) 10011110(反) 10011111(补)
120:01111000
-97|120=11111111 11111110(反) 10000001(原) -> -1 (负数)

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

A.操作数乘以2 (左移1位) B.操作数除以2 (右移一位)

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

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

  • 数字1 | 数字2: 只要有1结果就是1,两个都为0结果才是0
    1 | 1 = 1
    1 | 0 = 1
    0 | 1 = 1
    0 | 0 = 0
    特点: 和1或,置1

通过x|y使x低度8位置1,高8位不变,那么y的二进制数是0000000011111111

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

  • 1.用&(按位与)判断一个数的奇偶性
    num & 1 == 0 --> num是偶数
    num & 1 == 1 --> num是奇数
    &(按位与)特点: 一个位上的数如果和1与,可以保留这个位上的数; 和0与可以置0

    1. |(按位或)特点: 和1或,置1
  • 3.数字1 << N:数字1左移N位, 数字1 * 2N
    数字1 >> N: 数字1右移N位,数字1 // 2
    N
    应用:快速乘2的次方/除2的次方

相关文章

网友评论

      本文标题:2019-01-02 作业

      本文链接:https://www.haomeiwen.com/subject/wuxtrqtx.html