说明: (1) 正数相对于“模”的补数为正数本身,负数相对于“模”的补数为负数加模,即正数或负数的补数均为该数加模再取模。 (2) 计算机中的模运算通过丢弃高位进位实现(因寄存器的位数有限)。 (3) 总结:对于同一真值而言, 1) 三种机器数(原码、补码和反码)的最高位均为符号位; 2) 真值(整数或纯小数)为正时,原码、补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值相同; 3) 真值(整数或纯小数)为负时,原码、补码和反码的表示形式不同,但其符号位都用“1”表示,而数值部分的关系为:原码与真值相同,反码(原码)是原码(反码)的“每位取反”,补码(原码)是原码(补码)的“每位取反,末位加1”; 4) 移码与补码仅符号位不同; 5) 补码和移码中,真值0只有一种表示,原码和反码中,真值0有两种表示,因而补码和移码比原码和反码多表示一个数; 6) 码的二进制值与该码的真值的大小关系之间的一致性的相关程度: 移码>补(反)码>原码,即 移码的二进制值之间的大小关系与对应真值之间的大小关系在正、负范围内及两者之间均分别一致; 补(反)码的二进制值之间的大小关系与对应真值之间的大小关系在正、负范围内均分别一致,在正、负之间不一致; 原码的二进制值之间的大小关系与对应真值之间的大小关系在正数范围内一致,在负数范围内及正、负之间均分别不一致; 7) 由 求 的规则:“连同符号位在内,每位取反,末位加1”。(依据:a)数值取反则符号位取反;b)正数的原码和补码相同;c)负数由原码(补码)求补码(原码)的规则为“除符号位,每位取反,末位加1”); 8) 双符号位只在ALU内部采用,在ALU内进行加、减运算时,把每个数的符号位的值同时送到算术和逻辑运算部件的两位符号位; |