Day-3 作业(2018-09-27)

day3作业:
1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是()
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

分析:
选项a,b中12的2不是二进制基数,选项b中80的8不是八进制基数,
选项c中78的8不是八进制基数

答案:d

2.二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为()
a. 1001
b. 1010
c. 1110
d. 1101
答案: c

7.八进制754中的数码7对应的位权是()
a. 10^2 b. 16^1 c. 8^2 d. 2^2
答案:c

8.十进制数53转换成二进制数是()
a. 100101
b. 110101
c.100100
d.110100
分析:辗转取余法
答案:110101

9.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为()进制
a. 6
b. 7
c. 8
d. 9
分析:(X)11 = 1 * x^0 + 1 * x^1 = x+1
8=(X)11=x+1
x=8-1=7
答案:b

10.二进制的1000001相当十进制的______,二进制的100.001可以表示为___。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 2 ^ 3 + 2 ^ –3 ② 2 ^ 2 + 2 ^ –2 ③ 2 ^ 3 + 2 ^ –2 ④ 2 ^ 2 + 2 ^ –3
分析:1000001 = 1 * 2^0 + 1 * 2^6 = 65
答案:A:④ B:④

11.使用位运算判断一个数是否是奇数
注:奇数的二进制的最后一位是1,偶数是0
答案:

num = input("请输入一个数字: ")
num = int(num)
result = num & 0b1
if result:
    print("%s是奇数" % (num))
else:
    print("%s是偶数" % (num))

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

分析:
0x13转换为二进制,0x1转换为0001,0x3转换为0011,所以0x13转换为二级制原码0001 0011
同理,0x17转换为原码0001 0111
取补码如下0001 0011
0001 0111
按位与结果为0001 0011,再转换为原码
转换为十进制为 19
答案:19

13.若x=2,y=3则x&y的结果是( )

分析:将x与y从十进制转换为二进制原码,再转换为补码,再按位与,得到0010,此为补码,原码为0010
答案:2

14.表达式 ord('a') | ord('z') 的运算结果是()

分析:
ord()返回字符的unicode编码值得十六进制值
'a'的unicode编码值为0x0061
'z'的unicode编码值为0x007A
转换为二进制原码分别为0000 0000 0110 0001
0000 0000 0111 1010
正数补码和原码相同
按位或结果为0000 0000 0111 1011
转换为原码结果同上
转换为十进制为123
答案:123

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

A.操作数乘以2 B.操作数除以2

C.操作数除以4 D.操作数乘以4
答案:B

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

你可能感兴趣的:(Day-3 作业(2018-09-27))