题目
机器数字长为8位,求-127对应的二进制[1]真值、原码[2]、补码、反码和移码形式。
机器数字长为8位,求-127对应的二进制[1]真值、原码[2]、补码、反码和移码形式。
题目解答
答案
- 真值:-1111111(即-127)。
- 原码:符号位为1,数值部分为1111111,故为11111111。
- 反码:符号位为1,数值部分取反得0000000,故为10000000。
- 补码:反码加1,10000000 + 1 = 10000001。
- 移码:补码符号位取反,10000001 → 00000001。
综上:
- 真值:-1111111
- 原码:11111111
- 反码:10000000
- 补码:10000001
- 移码:00000001
解析
本题主要考查计算机中机器数的不同表示形式,包括真值、原码、反码、补码和移码。解题的关键在于理解每种表示形式的定义和转换规则。
- 真值:真值是指一个数的实际值,对于 -127,将其转换为二进制。因为 $127 = 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0=1111111_2$,所以 -127 的二进制真值为 -1111111。
- 原码:原码的表示规则是,最高位为符号位,正数符号位为 0,负数符号位为 1,其余位表示数值的绝对值。对于 -127,符号位为 1,数值部分为 1111111,所以原码为 $11111111$。
- 反码:反码的表示规则是,正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,数值部分按位取反。对于 -127 的原码 $11111111$,符号位 1 不变,数值部分 1111111 取反得到 0000000,所以反码为 $10000000$。
- 补码:补码的表示规则是,正数的补码与原码相同,负数的补码是在反码的基础上加 1。对于 -127 的反码 $10000000$,加 1 可得 $10000000 + 1=10000001$,所以补码为 $10000001$。
- 移码:移码的表示规则是,在补码的基础上,将符号位取反。对于 -127 的补码 $10000001$,符号位 1 取反得到 0,所以移码为 $00000001$。