2019-01-02 day7 作业

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

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

请输入一个数:12
12是偶数

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

0x13 -->00010011
0x17 -->00010111
00010011 & 00010111 = 00010011
 00010011 -->  19

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

-20 --> 10010100(原码)--> 11101011(反码)--> 11101100(补码)
3 --> 00000011(补码)
11101100 & 00000011 = 00000000 --> 0

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

-97 --> 11100001(原码) --> 10011111(补码)
120 --> 01111000
10011111 | 01111000 = 11111111(补码)-->10000001(原码)= -1

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

A.操作数乘以2     B.操作数除以2 
C.操作数除以4     D.操作数乘以4

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

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

1、交换两个数(不借助第三变量)

这种方法可以实现的基础是一个数m与另一个数n异或,再与n异或,得到的结果是m.

不适用临时变量,交换两个数
a = a ^ b
b = b ^ a
a = a ^ b

2.求两个数的平均值

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

推荐阅读更多精彩内容

  • Zhōng huá zì jīng 中 华 字 经 dì yī bù fēn 第 一 部分 qián kūn yǒ...
    玉妖凰儿阅读 3,021评论 0 9
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,433评论 0 2
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 2,698评论 0 5
  • (开经偈) 无上甚深微妙法 百千万劫难遭遇 我今见闻得受持 愿解如来真实义 第一品 Fǎ huì yīn yóu ...
    黄一轩阅读 4,371评论 0 1
  • 倭人大军好不容易撕开的几个小口子,都被徐将军有条不紊的给挡了回去。 大祭司看今日先机已失,再攻打下去只会徒增倭军的...
    潇湘笔阅读 1,352评论 41 38