美文网首页
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