Day7作业

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

num=int(input("请输入一个整数:"))
if num & 1 == 0:
 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的二进制数是( 0b0000000011111111)

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

乘以或除以2的幂数

可以用左移<<和右移>>位运算来代替

i << 2, i >> 2

判断一个数的奇偶性

可以用判断二进制最右的一位来代替,最右位是1则是偶数,是0则是奇数。

i & 1

判断一个数是否是2的幂数

x & (x – 1)

将一个数对应的二进制位的最右边的1置为0

x & (x – 1)

将一个数对应的二进制位的最右边的0置为1

x | (x + 1)

将一个数对应的二进制位的最右边的0置为1,其余位全置为0

¬x & (x + 1)

将一个数对应的二进制位的最右边的1置为0,其余位全置为1

¬x | (x – 1)

将一个数对应的二进制位的右尾端连续的1都置为0

x & (x + 1)

将一个数对应的二进制位的右尾端连续的1都置为0,其余位全置为1

¬x | (x + 1)

将一个数对应的二进制位的右尾端连续的0都置为1

x | (x– 1)

将一个数对应的二进制位的右尾端连续的0都置为1,其余位全置为0

¬ x & (x - 1)

将一个数对应的二进制位仅保留最右边的1,其余为全置为0

x & (−(x-1))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作业总结 数值交换a = 12b = 13a,b = b,aprint(a,b) 判断列表元素的类型isinsta...
    ChiAo1fei阅读 819评论 0 0
  • 1.使用位运算判断一个数是否是奇数 2.表达式0x13 & 0x17的值是( ) 3.若x = -20, y = ...
    woming阅读 1,007评论 0 0
  • 1.使用位运算判断一个数是否是奇数 2.表达式0x13&0x17的值是(19) 3.若x=-20,y=3则x&y的...
    蒲小黑阅读 1,137评论 0 0
  • 1.使用位运算判断一个数是否是奇数 2.表达式0x13&0x17的值是(13 ) 3.若x=-20,y=3则x&y...
    憨猜猜阅读 676评论 0 1
  • 陪妃姐玩拼图,她嫌太难,甩手不干。我就陪着教了一会儿,结果她还是不想玩。 我说你不能因为觉得困难就不玩了,你以前不...
    彩云聚散阅读 5,439评论 0 0