数制

1

设 m=(313)₄ 且 n=(322)₄。求 m+n 的四进制展开式( )。

正确答案:D
  • 将 m 和 n 转换为十进制后相加:

    • m = 3×4² + 1×4¹ + 3×4⁰ = 3×16 + 1×4 + 3×1 = 48 + 4 + 3 = 55
    • n = 3×4² + 2×4¹ + 2×4⁰ = 3×16 + 2×4 + 2×1 = 48 + 8 + 2 = 58
    • m+n = 55 + 58 = 113(十进制)
  • 将 113 转换为四进制:

    1. 113 ÷ 4 = 28 余 1
    2. 28 ÷ 4 = 7 余 0
    3. 7 ÷ 4 = 1 余 3
    4. 1 ÷ 4 = 0 余 1

因此,四进制表示为 (1301)₄

2

十进制数值 0.5 在 IEEE 单精度浮点表示中具有以下特征( ):

正确答案:B

IEEE 754 标准规定了以下位分配:

  • 符号位:1 位
  • 指数宽度:8 位
  • 有效数字(尾数):24 位(其中 23 位显式存储)

十进制的 0.5 对应二进制的 $1 \times 2^{-1}$。因此:

  1. 指数值:偏移量为 127 的 IEEE 754 单精度浮点数中,实际指数值为 -1
  2. 尾数位:由于二进制表示为 1.0(隐含前导 1),显式存储的 23 位尾数全为 0
  3. 符号位:正数,故为 0

最终表示为:
0 11111110 00000000000000000000000
(符号位 | 指数域 | 尾数域)

3

用 8 位二进制补码表示的最小整数是( ):

正确答案:B
参见 补码表示
对于 n 位二进制补码数,其数值范围为:
$$-2^{n-1} \quad \text{到} \quad 2^{n-1} - 1$$
当 n=8 时,最小值为 $-2^7 = -128$
4

P 是一个 16 位有符号整数。P 的二进制补码表示为 (F87B)₁₆。8×P 的二进制补码表示是( ):

正确答案:A

解释:P = (F87B)₁₆ 对应的二进制为 -1111 1000 0111 1011。注意最高有效位为 1,说明该数为负数。对数值进行二进制补码运算可得 P = -1925,8P = -15400。由于 8P 仍为负数,需对其取补码:

  • 15400 的二进制为 0011 1100 0010 1000
  • 补码结果为 1100 0011 1101 1000 = (C3D8)₁₆

另一种方法:

  • P = (F87B)₁₆ 的二进制为 1111 1000 0111 1011(最高位为 1 表示负数)
  • 通过补码运算得 P = -1925
  • 1925 的二进制为 0000 0111 1000 0101
  • 8P 相当于将 P 左移 3 位得到 0011 1100 0010 1000
  • 加上负号后变为 1011 1100 0010 1000
  • 其补码为 1100 0011 1101 1000 = (C3D8)₁₆
5

(1217)₈ 等于以下哪个选项?

正确答案:B

解析:

  1. 八进制转二进制 每位八进制数对应 3 位二进制数:

    1 → 001
    2 → 010
    1 → 001
    7 → 111
    

    合并后得到:(001 010 001 111)₂

  2. 二进制转十六进制
    将二进制数从右向左每 4 位分组(不足补零):
    (0010 1000 1111)₂
    对应十六进制:

    0010 → 2
    1000 → 8
    1111 → F
    

    最终结果为:(28F)₁₆,即选项 B

6

在 IEEE 浮点数表示中,十六进制值 0x00000000 对应的是( ):

正确答案:D
  • IEEE 754 标准规定:当指数域和尾数域全部为零时,表示零值(Zero)
  • 符号位决定正负:符号位为 0 表示正零(+0),为 1 表示负零(-0)
  • 本题分析:题目未明确给出符号位,默认按 0 处理,因此对应特殊值 +0
  • 关键区分
    • 规格化值需满足指数域非全 0/全 1
    • 全 0 的指数域与尾数域组合属于特殊值范畴
7

一个浮点型变量的值使用 IEEE-754 单精度 32 位浮点格式表示,该格式采用 1 位符号位、8 位偏移指数和 23 位尾数。将十进制值 -14.25 赋给浮点型变量 X 后,X 的十六进制表示是( ):

正确答案:A

由于数值为负,符号位 S 为 1
将 14.25 转换为二进制:1110.01
归一化为:1.11001 × 2³
偏移指数(加 127):3 + 127 = 130(二进制为 10000010)
尾数:110010…..0(共 23 位)

IEEE 754 单精度格式表示为:
1 10000010 11001000000000000000000

按四比特分组转换为十六进制:
1100 0001 0110 0100 0000 0000 0000 0000

结果为:C1640000

8

在 n 位二进制补码表示系统中,可以表示的整数范围是( ):

正确答案:A
本题考查补码的表示范围。
9

设 A = 1111 1010 和 B = 0000 1010 为两个 8 位二进制补码数。它们的乘积在二进制补码表示中是( ):

正确答案:A

此处我们有:

  • A = 1111 1010 = -6₁₀(A 是二进制补码数)
  • B = 0000 1010 = 10₁₀(B 是二进制补码数)

计算过程:

  1. 十进制乘法:
    A × B = (-6) × 10 = -60₁₀

  2. 转换为二进制补码:

    • 原码表示:1 011 1100₂(最高位为符号位)
    • 反码转换:1 100 0011
    • 补码结果:1 100 0100₂(8 位截断后为 1100 0100

结论:
A 和 B 在二进制补码中的乘积是 1100 0100,即选项 A。
所以,A 是正确答案。

10

假设所有数字都以二进制补码形式表示,以下哪个数能被 11111011 整除?( )

正确答案:A

由于最高有效位为 1,所有数字均为负数。
除数(11111011)的二进制补码 = 反码 + 1 = 00000100 + 1 = 00000101
因此该数对应的十进制值为 -5

选项 A 的十进制值为 -25

11

以下是一种使用 16 位表示浮点数的方案。

位位置1514 … 9 8 … 0
字段: s  e    m
含义:符号 指数  尾数

设 s、e 和 m 分别为符号位、指数位和尾数位中二进制表示的数值。则该系统中可表示的两个连续实数之间的最大差值是多少?( )

正确答案:C

解析:

  • 最大差值条件:相邻两个数的最大差值出现在指数部分取最大值时。
  • 指数字段分析
    • 指数字段为 6 位(位置 14 至 9),其无偏最大值为 63。
    • 若采用偏置值 32(即实际指数为 e - 32),则最大有效指数为 63 - 32 = 31
  • 尾数字段分析
    • 尾数字段为 9 位(位置 8 至 0)。
    • 相邻数的间隔为 2⁽³¹ ⁻ ⁹⁾ = 2²²
  • 结论:正确答案为选项 C
12

十进制数值 0.25( )

正确答案:B

解析:

  • 第一步:0.25₁₀ × 2 = 0.50 → 整数部分为 0
  • 第二步:0.50 × 2 = 1.00 → 整数部分为 1

通过连续乘以 2 取整数部分的方法,最终得到:
0.25₁₀ = 0.01₂
因此选项 B 正确。

13

十进制数值 -15 的二进制补码表示是( )

正确答案:D

解析步骤:

  1. 原码表示:-15 的原码为 11111(最高位为符号位 1,其余 4 位表示数值 15)
  2. 反码计算:符号位保持 1 不变,其余位取反 → 10000
  3. 补码生成:反码基础上加 1 → 10000 + 1 = 10001

结论:最终补码结果为 10001,对应选项 D。

14

符号扩展是以下哪一项中的步骤?( )

正确答案:D
符号扩展(Sign Extension)是一种将较小位宽的有符号整数转换为较大位宽时的操作,通过复制最高有效位(符号位)来保持数值的正负属性不变。这一过程常见于不同字长的数据类型转换场景,例如将 8 位有符号整数转换为 16 位或 32 位时。其他选项中涉及的操作(如加法、乘法、移位)均不直接依赖符号扩展机制。
15

在二进制补码加法中,溢出(overflow)( )

正确答案:B

解析

  • 溢出仅在符号位与最高有效位的进位不一致时发生
  • 正负数相加不会导致溢出(因为结果绝对值一定小于任一操作数)
16

十进制数 $-539_{10}$ 的二进制补码表示用十六进制表示为( )?

正确答案:C

$-539_{10} = 1\ 010\ 0001\ 1011_2$(最高位的 1 表示负数)

  • 原码转反码
    反码 = $1\ 101\ 1110\ 0100$

  • 反码转补码
    补码 = $1\ 101\ 1110\ 0101$

  • 补码转十六进制

    1101 1110 0101
     D    E    5
    

    最终结果为 DE5

因此,选项 C 是正确答案。

17

考虑数值 A = 2.0 × 10³⁰,B = -2.0 × 10³⁰,C = 1.0,以及在使用 32 位浮点数表示的计算机上执行以下序列操作:
X := A + B
Y := A + C
X := X + C
Y := Y + B

X 和 Y 的最终值将是( ):

正确答案:B

由于采用 32 位表示法,因此最大精度为 32 位。
当将 C(即 1.0)加到 A 时,相当于在 A 的第 31 位设置为 1,这显然超出了 A 的精度范围(注意是第 31 位而非第 31 个二进制位)。因此,该加法操作会直接返回 A 的原始值作为 Y 的赋值结果。
随后,Y + B 会抵消 A 的值,得到 0.0;而 X 初始为 A + B = 0.0,再加 C 后得到 1.0。

需要注意的是,2000 与 2×10³的表示方式存在差异。结果取决于数量级部分可用数字的数量,无法通过调整指数部分来弥补精度损失。
因此,选项 (B) 正确。此解释由 Piyush Doorwar 贡献。

18

以下关于不同基数之间数字转换的选项中,哪一个是正确的?( )

正确答案:B

解析

  • 十进制数 $ k $ 位转换为二进制时,位数约为 $ \frac{k}{\log_2(10)} \approx \frac{k}{3.32} $。
  • 选项 (B) 中的 “k/2” 明显小于实际值,因此错误。
  • 其他选项同样不符合数学规律,故正确答案为 D(以上都不对)
19

一个浮点型变量的值使用 IEEE 754 单精度 32 位浮点格式表示,该格式使用 1 位符号位、8 位偏移指数和 23 位尾数。将十进制值 -25.75 赋给浮点型变量 X。X 的十六进制表示是( )。

正确答案:D

解析

IEEE 754 转换过程如下:

  1. 符号位
    数值为负 → 符号位 S = 1

  2. 二进制转换
    -25.75 的绝对值转换为二进制:11001.11

  3. 规范化表示
    移动小数点至规范形式:1.100111 × 2⁴
    指数部分:4 + 127 = 131(偏移量为 127)
    对应二进制指数:10000011

  4. 尾数编码
    尾数部分取 23 位:10011100000000000000000

  5. 最终二进制组合

    S    指数 (8 位)        尾数 (23 位)
    1  10000011  10011100000000000000000
    
  6. 十六进制转换
    按 4 位分组:

    1100 0001 1100 1110 0000 0000 0000 0000
    

    对应十六进制:C1CE0000

20

考虑无符号的 8 位定点二进制数表示形式:b7b6b5b4b3⋅b2b1b0,其中二进制小数点位于 b3 和 b2 之间。假设 b7 是最高有效位。下列十进制数中有些无法用上述表示形式精确表示:
(i) 31.500
(ii) 0.875
(iii) 12.100
(iv) 3.001。

以下哪个说法是正确的?

正确答案:C
  • (i) 31.500 可以表示为:
    $(31.5)_{10} = (11111.100)2$
    $2^4 + 2^3 + 2^2 + 2^1 + 2^0 + 2^{-1} = 16 + 8 + 4 + 2 + 1 + 0.5 = (31.5)
    {10}$

  • (ii) 0.875 可以表示为:
    $(0.875)_{10} = (00000.111)2$
    $2^{-1} + 2^{-2} + 2^{-3} = 0.50 + 0.25 + 0.125 = (0.875)
    {10}$

  • (iii) 12.100(iv) 3.001 无法表示。

    • (iii) 的小数部分 0.1 无法用有限二进制小数表示
    • (iv) 的小数部分 0.001 也无法用有限二进制小数表示

因此,选项 (C) 正确。更多信息请参阅。

21

在 IEEE 浮点数表示中,十六进制数 0xC0000000 对应的数值是( ):

正确答案:D
0xC0000000 = 1100 0000 0000 0000 0000 0000 0000 0000
在 IEEE 浮点数表示中:最高位(MSB)是尾数的符号位,接下来 8 位表示指数值,最后 23 位表示尾数值。该系统采用带偏移的指数系统,其中偏移量=2^(指数位数 -1)-1=127
因此数值=(-1)^1 × 1.M × 2^(128-127) = -1.0 × 2 = -2.0
所以选项 (D) 正确。
22

如果 X 是一个二进制数且是 2 的幂,则 X & (X - 1) 的值为( ):

正确答案:B

& 是按位与运算符。
示例分析:

  • 设 X = 2⁴ = 16 = 10000(二进制)
  • 则 X - 1 = 15 = 01111(二进制)
  • 此时 X & (X-1) = 00000

原理说明:
当 X 是 2 的幂时,其二进制形式为 100...0,减 1 后变为 011...1。按位与操作会逐位比较,只有全为 1 时结果才为 1,因此最终结果必为全 0。

因此,选项 (B) 正确。

23

在标准 IEEE 754 单精度浮点数表示中,有 1 位符号位、23 位小数部分和 8 位指数部分。其十进制数字的精度是多少( )?

正确答案:C

精度可以理解为浮点数能够表示的最大准确性。
它是浮点表示中能够表示的最小变化量。单精度规范化数的小数部分恰好具有 23 位分辨率(加上隐含位后共 24 位)。

从十进制表示的角度来看:
设十进制有效数字位数为 $ x $,则满足关系式:

$$ 2^{-23} = 10^{-x} $$

取对数得:

$$ \log_2(10^{-x}) = -23 \ -x \log_2 10 = -23 \ -3.322x = -23 \ x = 6.92 $$

由于有效数字位数需向下取整,因此十进制精度为 7 位
故正确答案是 (C)

24

考虑三个寄存器 R1、R2 和 R3,它们存储以 IEEE-754 单精度浮点数格式表示的数值。假设 R1 和 R2 分别包含十六进制表示的值 0x42200000 和 0xC1200000。如果 R3 = R1 / R2,那么 R3 中存储的值是什么?( )

正确答案:B

解析过程:

  • R1 = 0x42200000

    • 二进制表示:0100 0010 0010 0000 0000 0000 0000 0000
    • 符号位 S=0 → 正数
    • 阶码 (10000100)₂ = 132 → 真实阶码 = 132 - 127 = 5
    • 尾数 (010 000000000)₂ → 数值计算: $$ (-1)^0 \times (1.01000000000…) \times 2^5 = (101000.0)_2 = 40 $$
  • R2 = 0xC1200000

    • 二进制表示:1100 0001 0010 0000 0000 0000 0000 0000
    • 符号位 S=1 → 负数
    • 阶码 (10000010)₂ = 130 → 真实阶码 = 130 - 127 = 3
    • 尾数 (010 000000000)₂ → 数值计算: $$ (-1)^1 \times (1.01000000000…) \times 2^3 = -(1010.0)_2 = -10 $$
  • R3 = 40 / -10 = -4

    • IEEE-754 格式转换:
      • 符号位 S=1
      • 数值 $-4 = -1.0 \times 2^2$ → 真实阶码 = 2
      • 对应阶码 = 2 + 127 = 129 → (10000001)₂
      • 尾数全零
      • 最终二进制:1100 0000 1000 0000 0000 0000 0000 0000
      • 十六进制表示:0xC0800000

选项 B 正确。

25

考虑以下使用 IEEE 754 单精度浮点数格式(偏移量为 127)表示的数字:
S : 1 E : 10000001 F : 11110000000000000000000
其中,S、E 和 F 分别表示浮点数的符号位、指数位和尾数部分。

上述表示对应的十进制数值(保留两位小数)是(  )。

正确答案:A

已知:

  • 符号位 = 1 → 数值为负
  • 有偏指数位 = 10000001 = 129 → 实际指数 E = 129 - 127 = 2
  • 尾数位 = 11110000000000000000000

数值计算过程:

  • 二进制表示:–1.111100..00 × 2²
  • 二进制展开:-111.11
  • 十进制转换
    • 整数部分:111₂ = 7₁₀
    • 小数部分:0.11₂ = 0.75₁₀
    • 合并结果:-7.75

因此,该数值的十进制形式为 -7.75

26

使用 4 位二进制补码运算时,以下哪些加法操作会导致溢出?( )

(i) 1100 + 1100
(ii) 0011 + 0111
(iii) 1111 + 0111

正确答案:B

溢出判定规则

  1. 带符号数(补码)
    • 若两个正数相加结果为负 → 溢出
    • 若两个负数相加结果为正 → 溢出
  2. 无符号数
    • 最高位产生进位 → 溢出

具体分析

  • (i) 1100(-4)+ 1100(-4)= 11000(截断后为 1000,即 -8)→ 结果仍为负数,无溢出
  • (ii) 0011(3)+ 0111(7)= 1010(-6)→ 正数相加得负数,溢出
  • (iii) 1111(-1)+ 0111(7)= 0110(6)→ 负数与正数相加,结果在有效范围内,无溢出

综上,仅 (ii) 符合溢出条件,故选 B

27

设 X 为使用补码表示的 16 位整数的不同值的数量。设 Y 为使用原码表示的 16 位整数的不同值的数量。则 X - Y 等于(  )。

正确答案:A
  • 补码表示范围:$-2^{(n-1)}$ 到 $2^{(n-1)} - 1$
  • 原码表示范围:$-(2^{(n-1)} - 1)$ 到 $2^{(n-1)} - 1$

以 n=8 为例:
 • 补码可表示 -128 到 127(共 256 个不同值)
 • 原码可表示 -127 到 127(共 255 个不同值)

差值为 1 的原因在于:
 1. 原码存在两个零的表示(+0 和 -0)
 2. 补码仅有一个零的表示

28

将八进制数 0.4051 转换为对应的十进制数( )。

正确答案:A
使用传统方法将 0.4051 转换为十进制:即
4 × 8⁻¹ + 0 × 8⁻² + 5 × 8⁻³ + 1 × 8⁻⁴ = 0.5100098
因此,选项 (A) 正确。
29

以下哪个二进制数与其二进制补码相同?( )

正确答案:C
  • 选项 (A):1010

    • 二进制补码计算:0101 + 1 = 0110
    • 补码结果与原数不同
  • 选项 (B):0101

    • 二进制补码计算:1010 + 1 = 1011
    • 补码结果与原数不同
  • 选项 (C):1000

    • 二进制补码计算:0111 + 1 = 1000
    • 补码结果与原数相同 ✅
  • 选项 (D):1001

    • 二进制补码计算:0110 + 1 = 0111
    • 补码结果与原数不同

因此,选项 (C) 是正确的。

30

以下哪个数字的 IEEE-754 32 位浮点数表示为 0 10000000 110 0000 0000 0000 0000 0000?( )

正确答案:C

IEEE-754 32 位浮点数表示采用移码(excess-127)格式:

  • 最高位表示尾数符号位(0 表示正数)
  • 接下来 8 位表示指数部分(移码)
  • 最后 23 位表示尾数值

已知浮点数表示为:0 10000000 110 0000 0000 0000 0000 0000

  1. 符号位:最高位为 0 → 尾数为正
  2. 指数部分10000000 对应十进制 $2^7 = 128$
    • 移码转实际指数:$128 - 127 = 1$
  3. 尾数部分:隐含前导 1 的规范化形式
    • 二进制尾数:$1.110\ 0000\ 0000\ 0000\ 0000\ 0000_2$
  4. 最终计算: $$ (1.11)_2 \times 2^1 = 1 + \frac{1}{2} + \frac{1}{4} = 1.75 \times 2 = 3.5 $$ 选项 (C) 正确。
31

(3×4096 + 15×256 + 5×16 + 3) 的二进制表示中 1 的个数是( ):

正确答案:C

原式 = 3×4096 + 15×256 + 5×16 + 3
= (2 + 1)×4096 + (8 + 4 + 2 + 1)×256 + (4 + 1)×16 + 2 + 1
= (2 + 1)×2¹² + (2³ + 2² + 2 + 1)×2⁸ + (2² + 1)×2⁴ + 2 + 1
= (2¹³ + 2¹²) + (2¹¹ + 2¹⁰ + 2⁹ + 2⁸) + (2⁶ + 2⁴) + 2 + 1

由于:

  • $2^{13}$ 是 1 后面跟着 12 个 0
  • $2^{12}$ 是 1 后面跟着 11 个 0
  • $2^{11}$ 是 1 后面跟着 10 个 0
  • $2^{10}$ 是 1 后面跟着 9 个 0
  • $2^9$ 是 1 后面跟着 8 个 0
  • $2^8$ 是 1 后面跟着 7 个 0
  • $2^6$ 是 1 后面跟着 5 个 0
  • $2^4$ 是 1 后面跟着 3 个 0
  • $2^1$ 是 1 后面跟着 0 个 0

将这些二进制数相加时,每个 $2^n$ 在二进制中仅包含一个 1。
最终结果中 1 的个数为:
$2^{13}$ → 1 个
$2^{12}$ → 1 个
$2^{11}$ → 1 个
$2^{10}$ → 1 个
$2^9$ → 1 个
$2^8$ → 1 个
$2^6$ → 1 个
$2^4$ → 1 个
$2^1$ → 1 个
$2^0$ → 1 个

总计 10 个 1。因此选项 (C) 正确。

32

以下哪种表示方法在进行数字的算术运算时效率最高?( )

正确答案:C

符号 - 绝对值仅用于符号约定(最高有效位为 1 表示负数,0 表示正数)。
主要区别在于使用反码相加时,首先进行二进制加法,然后添加一个循环进位值。但补码对零只有一个表示形式,且不需要处理进位值。
九的补码是将十进制数的每一位从 9 中减去得到的。与反码类似,九的补码也通过加法实现减法运算。

  • 补码表示法对 0 具有唯一性(即只有正零),
  • 而符号 - 绝对值、反码和九的补码对 0 的表示存在歧义(即同时存在正零和负零)。

因此,选项 (C) 正确。

33

使用 12 个开关可以存储多少种不同的 BCD 数字?(假设每个开关为双位置或开/关状态)( )

正确答案:D

在二进制编码十进制(BCD)编码方案中,每个十进制数字(0-9)都由其对应的 4 位二进制模式表示。

一个开关可以存储 1 位信息(0 表示关闭,1 表示开启),而每个 BCD 数字占用 4 位,因此 12 个开关可组成 12/4 = 3 个 BCD 数字。每个 BCD 数字的取值范围是 0 到 9(共 10 种可能)。

因此,12 个开关中不同可能的 BCD 数字数量为:
= 10 × 10 × 10 = 1000 = 10³
所以选项 (D) 正确。

34

IEEE-754 双精度格式表示浮点数的长度为( )位。

正确答案:D

IEEE-754 双精度格式表示浮点数的长度为 64 位。
其组成结构如下:

  • 符号位:1 位
  • 指数位:11 位
  • 尾数(小数)部分:52 位
    因此,选项 (D) 正确。
35

三进制数 1102 等于多少进制下的 123?( )

正确答案:B

设该进制为 ‘x’。

$$ (1102)_3 = (123)_x = 1 \times 3^3 + 1 \times 3^2 + 0 \times 3^1 + 2 \times 3^0 = 1 \times x^2 + 2 \times x + 3 $$

$$ = 27 + 9 + 0 + 2 = x^2 + 2x + 3 $$

$$ \Rightarrow x^2 + 2x - 35 = 0 $$

$$ \Rightarrow x = 5 \quad (\text{舍去负解}) $$

正确选项是 (B)

36

十进制数 42.75 的二进制等价形式是( )

正确答案:A

(42.75)₁₀ = (?)₂

  • 整数部分:
    32 16 8 4 2 1
    1 0 1 0 1 0
  • 小数部分:
    0.75 × 2 = 1.5 → 取整 1
    0.5 × 2 = 1.0 → 取整 1
    0.0 × 2 = 0.0 → 取整 0
    得到 0.110
    选项 (A) 正确
37

十六进制浮点数 C1D00000 的十进制值是多少?(假设为 32 位单精度 IEEE 浮点表示)( )

正确答案:C

浮点数的十六进制表示 = C1D00000
浮点数的二进制表示 = 1100 0001 1101 0000 0000 0000 0000 0000
在 32 位单精度 IEEE 浮点表示中,最高位表示尾数符号:1 表示负数,0 表示正数。接下来 8 位是指数部分,最后 23 位是尾数部分。

指数值 = 131 - 127 = 4
尾数 = -1.101000000...0

浮点数值 = -1.10100…0000 × 2⁴ = -11010
= -26

38

考虑一个计算机系统,使用 16 位尾数和 8 位指数(均采用二进制补码)存储浮点数。能够存储的最小和最大正数值分别是( )。

正确答案:D

解析:

  1. 指数范围分析
    8 位二进制补码表示的指数范围为 $[-128, 127]$,因此最大正指数为 $10^{127}$。

  2. 尾数范围分析
    16 位尾数(二进制补码)能表示的最大正数为 $2^{15} - 1$,而非 $2^{15}$(因最高位为符号位)。

  3. 组合计算

    • 最小正数:当尾数为 $1$(最小非零值),指数为 $-128$ 时,结果为 $1 \times 10^{-128}$。
    • 最大正数:当尾数为 $2^{15} - 1$,指数为 $127$ 时,结果为 $(2^{15} - 1) \times 10^{127}$。
  4. 选项排除

    • A/B/C 中的 $2^{15}$ 或 $10^{255}$ 均不符合实际尾数/指数范围。
    • D 项精确匹配上述推导结果。