2019-07-23

作业

1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(d)

a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

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

a. 1001
b. 1010
c. 1110
d. 1101

3.八进制754中的数码7对应的位权是(c)

a. 10^2 b. 16^1 c. 8^2 d. 2^2

4.十进制数53转换成二进制数是(b)

a. 100101
b. 110101
c.100100
d.110100

5.已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为(b)进制

a. 6
b. 7
c. 8
d. 9

6.二进制的1000001相当十进制的___ 4___,二进制的100.001可以表示为_ 4__。

A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3

7. n = 6784,以下能够获取到7 的方法有(cd)

a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10

8.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:_ -17.5_____。

9.写出计算机底层计算-10-20的步骤(补码计算和转换过程)

-10的原码:10001010
-10的反码:11110101
-10的补码:11110110
-20的原码:10010100
-20的反码:11101011
-20的补码:11101100
-10+(-20) = 11110110 + 11101100 = 11100010(补码)
补码是:11100010
反码是:11100001
原码是:10011110
所以:-10+(-20)的原码是:10011110
10011110转换成10进制数是-30

10.写代码获取数字n=1234中每一位上的数

n = 1234
a = n // 1000        #获取千位
print("千位a = ", a)
b = n % 10           #获取个位
print("个位b = ", b)
c = n // 100 % 10    #获取百位
print("百位c = ", c)
d = n % 100 // 10    #获取十位
print("十位d = ", d)

11.写代码统计一个任意整数m是几位数,并且逆序打印出每一位数字。(0基础不做, 不能用字符串来做)

例如: m=123, 打印: m是3位数 3 2 1
m=45321, 打印:m是5位数 1 2 3 5 4

while True:
    num = int(input("请输入一个任意整数:"))
    i = 0
    n = 0
    a = num
    while a >= 1:
        a = a // 10
        n = n + 1
    

    num1 = num
    while True:
        if num1 // 10 == 0:
            break
        i += 1
        num1 = num1 // 10
    sum = 0
    while i >= 0:
        sum = sum + (num % 10) * (10 ** i)
        num = num // 10
        i = i - 1
    print("num是%d位数" % n,  sum)

你可能感兴趣的:(2019-07-23)