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相当十进制的④,二进制的100.001可以表示为④。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3
- n = 6784,以下能够获取到7 的方法有(c、d)
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-20换算成(-10)+(-20)后计算结果
# 1.将十进制转换为二进制:-10 → -0b1010、-20 → -0b10100
# 2.以1byte代表整数换算原码:-10 → 10001010、-20 → 10010100
# 3.原码换算反码:-10 → 11110101、-20 → 11101011
# 4.反码换算补码:-10 → 11110110、-20 → 11101100
# 5.补码相加得到结果的补码:-10-20 → 11110110 + 11101100 = 11100010
# 6.将结果补码换算成原码:11100010(补码) → 11100001(反码) → 10011110(原码)
# 7.将结果原码换算成十进制数字:10011110 → -30 (得到结果)
10.写代码获取数字n=1234中每一位上的数
n = 1234
print('千位数为', n // 1000)
print('百位数为', n // 100 % 10)
print('十位数为', n % 100 // 10)
print('个位数为', n % 10)
11.写代码统计一个任意整数m是几位数,并且逆序打印出每一位数字。(0基础不做, 不能用字符串来做)
例如: m=123, 打印: m是3位数 3 2 1
m=45321, 打印:m是5位数 1 2 3 5 4
x = 1
m = int(input('请输入m:'))
l1 = []
while True:
if m // 10:
x += 1
y = m % 10
m = m // 10
l1.append(y)
else:
y = m
l1.append(y)
break
print('m是%s位数' % x, l1)