计算机系统结构基础:补码与移码计算习题解析

版权申诉
0 下载量 105 浏览量 更新于2024-07-02 收藏 145KB DOC 举报
"计算机系统结构基础习题" 在计算机系统中,数据的表示方式和运算方法对于理解计算机内部的工作原理至关重要。以下是对题目中涉及的知识点的详细解释: 1. **机器数的表示形式**: - 原码:直接表示数值的二进制形式,包括符号位。正数的原码与它的二进制等价值相同,负数的最高位(符号位)为1,其余位是该数的二进制补码。 - 补码:用于表示有符号整数,正数和零的补码与原码相同,负数的补码是其二进制等价值按位取反后加1。 - 反码:负数的反码是其原码除了符号位外的各位取反,正数和零的反码与原码相同。 - 移码:常用于浮点数表示,符号位表示正数时为1,负数时为0,数值部分与原码相同,因此移码中的零是正的。 2. **数值围**: - 在8位字长的系统中,补码表示的整数围为-128(1000 0000)到+127(0111 1111),因为最左边的一位是符号位,0代表正,1代表负。 - 对于n+1位的定点数,整数围是0到2^n-1,小数围是0到1-2^(-n)。 3. **补码运算**: - 寄存器内容9BH在补码表示中对应-97,因为其二进制形式是1001 1011,最高位为1,表示负数,转换为十进制为-128+97=-21。 - 若9BH是移码,最高位为1,表示正数,所以对应的十进制数是27。 4. **补码、反码、移码的识别**: - 寄存器内容10000000,如果表示0,是移码形式,因为最高位为1,表示正数。 - 同样内容的寄存器,如果表示-128,是补码形式,最高位为1,且所有其他位也为1,符合补码表示负数的规则。 - 表示-127时,是反码,因为-128的反码加1即得到-127的补码。 - 表示-0时,是原码,因为0的原码、补码、反码和移码都相同。 5. **减法运算**: - 大部分计算机中的减法是通过加补数来实现的,即将被减数加上减数的补码。 6. **补码加减法**: - 补码加减法中,操作数都是用补码表示,包括符号位,加法和减法可以统一为加法运算。减某数等于加该数的补码,结果的符号在运算过程中自然形成。 7. **原码一位乘**: - 在原码一位乘中,符号位单独处理,实际参与运算的是数值的绝对值,乘积的符号由两个乘数的符号位决定。 8. **补码相加与溢出**: - 当两个有符号数的补码相加时,如果结果的符号位与操作数的符号位不一致,或者结果超出了表示围,就可能发生溢出。例如,两个正数相加,结果为负,或两个负数相加,结果为正,都可能溢出。 这些知识点是计算机系统结构中基础的计算和数据表示概念,对于理解计算机硬件和低级编程至关重要。