美文网首页
day07-作业

day07-作业

作者: 馒头不要面 | 来源:发表于2019-01-02 20:35 被阅读0次

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

n = int(input("请输入一个整数:"))

if n & 1 == 1:
    print(n,"为奇数")
else:
    print(n,"为偶数")

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

# 先把十六进制转换为二进制
0x13 = 000010011(原) = 000010011(反) = 000010011(补)
0x17 = 000010111(原) = 000010111(反) = 000010111(补)
0x13 & 0x17 = 000010011 & 000010111 = 000010011 = 19

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

# 先把x,y用二进制表示
x = -20 = 110100(原) = 101011(反) = 101100(补)
y = 3   = 000011(原) = 000011(反) = 000011(补) 
x & y = 101100 & 000011 = 000000(补) = 000000(反) = 000000(原) = 0

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

# 先把-97和120用二进制表示
-97 = 11100001(原) = 10011110(反) = 10011111(补)
120 = 01111000(原) = 01111000(反) = 01111000(补)
-97 | 120 = 10011111 | 01111000 = 11111111(补) = 11111110(反) = 10000001 = -1

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

按位运算中,操作数每右移一位,相当于原数整除2

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

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

因为正数的原码、反码、补码三码合一,
因为1 | 0 = 1, 1 | 1 = 1,所以低8位置1,则低8位全为1,
因为0 | 0 = 0, 1 | 0 = 1,所以高8位不变,则高8为全为0,
所以y的二进制数为:00000000 11111111

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

技巧一:用&来关闭某位的值

例如:我们想要关闭a数中的第4位,而又不影响其它位的现状,可以用一个数0xF7,即二进制数11110111去与a数作按位“与”运算
0x88  10001000  a数
&
0xF7  11110111  屏蔽数
     =10000000

技巧二:用|来开启某位的值

例如:我们想要开启a数中的第4位,而又不影响其它位的现状,可以用一个数0xF7,即二进制数00001000去与a数作按位“或”运算
0x80  10000000  a数
&
0xF7  00001000  开启数
     =10001000  

技巧三:用^直接交换两个变量的值

如,若有变量a=3,b=4,想要交换它们的值,可以做如下一组操作:
a^=b
b^=a
a^=b

首先,a^=b:
a 00000011
^
b 00000100
  
a=00000111
其次,b^=a:
b 00000100
^
a 00000111  

b=00000011
最后,a^=b:
a 00000111
^
b 00000011  -> 3
a=00000100  -> 4

相关文章

  • day07-作业

    day07-作业 学生信息管理系统

  • day07-作业

    1.使用位运算判断一个数是否是奇数 2.表达式0x13 & 0x17的值是( ) 3.若x=-20,y=3则x&y...

  • Day07-作业

    1.使用位运算判断一个数是否是奇数 2.表达式0x13&0x17的值是(19) 3.若x=-20,y=3则x&y的...

  • 2018-08-21 day07-作业

    作业1:进度条 作业2:秒表 作业3:文字时间 作业4:处理className兼容问题 作业5:发送短信倒计时

  • MySQL 多表操作

    day07-多表操作 今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建...

  • Day07-函数

    1. 函数 1)函数:就是实现某一特定功能的代码块的封装 2)作用:封装(将功能绑定在一个函数中,想要使用这个功能...

  • day07-函数

    函数 函数:就是对实现某一特定功能的代码块的封装 作用:封装(将功能绑定在一个函数中,想要使用这个功能的时候,直接...

  • day07-验证

    Artform 验证 Artform.py 可以从表单中拿到提交的数据用cleaned_data['值名']方法 ...

  • day07-封装

    学习刘意老师java基础的笔记 01_成员变量和局部变量的区别 02_形式参数是类名的问题 03_匿名对象 04_...

  • day07-文件编辑vim-笔记

    Day07-文件编辑vim 导读 今日内容1.什么是vim2.vi于vim的关系区别3.如何使用vimvim的四种...

网友评论

      本文标题:day07-作业

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