模拟卷 组成原理 补码 选择题
第 13 题

如果某单精度浮点数、某原码、某补码、某移码的 32 位机器数均为 0xF0000000,这些数从大到小的顺序是( )。

A. 浮点数>原码>补码>移码 B. 浮点数>移码>补码>原码 C. 移码>原码>补码>浮点数 D. 移码>补码>原码>浮点数

补码

[tag_link]

正确答案:D

首先,将32位机器数0xF0000000转换为二进制:1111 0000 0000 0000 0000 0000 0000 0000。 然后分别计算四种表示法对应的真值。

对于单精度浮点数(IEEE 754格式),符号位s=1,指数e=11100000(二进制,即224),尾数f全为0。 实际指数E=e-127=97,故浮点数值为(-1)^1×1.0×2^97 = -2^97,这是一个非常大的负数。

对于原码表示,符号位为1表示负数,数值位为后31位(111000…000),其绝对值为2^30+2^29+2^28=7×2^28,故原码值为-7×2^28。

对于补码表示,最高位为1表示负数,其值计算公式为-2^31+(其他位数值)。 其他位数值同样为7×2^28,故补码值为-2^31+7×2^28 = -2^28。

对于移码表示,通常偏移量为2^31,机器数作为无符号整数时值为2^31+2^30+2^29+2^28=15×2^28,真值为无符号值减2^31,即15×2^28-2^31=7×2^28,这是一个正数。

比较四个值:移码值7×2^28为正数最大; 补码值-2^28为负数但大于原码值-7×2^28(因为-2^28 > -7×2^28); 浮点数值-2^97是绝对值最大的负数,故最小。 因此从大到小顺序为移码>补码>原码>浮点数,对应选项D。