Page 38 - 江西普通高校专升本信息技术
P. 38

江西普通高校专升本信息技术



                   有符号整数的机器数编码可以采用三种:①原码;②反码;③补码。
                   (1)原码
                   原码编码方法为:最高位表示该数的符号位,0表示正数,1表示负数,其余各位表示该数的
               二进制。以一个字节为例,数值转换为二进制后位数加符号位不足8位在符号位后补0。
                   例14.计算56和-56的原码编码结果。








                   (2)反码
                   反码编码方法为:①正数反码和原码一致;②负数方法为:符号位不变,符号位后面的二进
               制位取反。
                   例15.计算56和-56的反码编码结果。









                   (3)补码
                   在讲述补码之前,先引入模的概念:把一个计量单位称之为模或模数。例如,时钟是以12
               计量单位进行计数循环的,即以12为模。如果当前时钟为12点钟逆时针减10和0点钟顺时针加2的
               结果一样,也就是12-10=0+2。因此,在模12的前提下,-10可映射为+2。由此可见,对于一个

               模数为12的循环系统来说,减10和加2的效果是一样的。因此,可以得出在以12为模的系统中,
               凡是减10的运算都可以用加2来代替,这就把减法问题转化成加法问题了。10和2对模12而言互为
               补数。
                   同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为8),因此它的运算也

               是一种模运算。当计数器计满8位也就是256后会产生溢出,又从头开始计数。产生溢出的量就是
                                                            8
               计算器的模,显然,8位二进制数,它的模数为2 =256。因此定义在计算中,两个互补的数称为
               “补码”。
                   补码的编码方法:①正数补码和原码一致;②负数方法为:符号位不变,反码加1。

                   例16.计算56和-56的补码编码结果。








                   如果计算机用原码运算结果有时是错误的,例如:用原码计算-1+1的过程为:[10000001] 原 +
               [00000001] 原 =[10000010] 原 =(-2) 10 ,实际上结果应该是0;再例如0的原码结果有两个:
               [+0] 原 =00000000,[-0] 原 =10000000。实际上,多数计算机系统采用的都是补码保存有符号整数,因

               为使用补码,有两个好处:可以将符号位和其他二进制位统一处理;减法运算也可以用加法计算
               结果,节省了运算器的成本。





                                                          ·16·
   33   34   35   36   37   38   39   40   41   42   43