Advertisement

原反补移码的作用

阅读量:

为了便于与二进制系统相互转换的需求,计算机界引入了十六六(即十六分)和八位(即八分)两种辅助编码方式作为过渡手段

数值分为正数与负数两类,在计算机中通常使用一个二进制位来表示符号信息(其中0代表正号、1代表负号),这即构成了机器数中的原码形式。若机器仅能处理8位二进制数据(即字长为1个字节),则采用原码表示法时可表示的数据范围是:

(-127~-0 +0~127)共256个.

数值表示方法的确允许我们执行算术运算。然而很快地发现,在使用带符号位的原码进行乘法和除法运算时结果正确的情况下,在加减法中却出现了问题。例如:假设机器字长为8位

( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确.

由于在两个整数加法运算中没有问题,则问题出在带符号位的负数上;通过将除符号位外的所有位取反从而得到反码;其表示范围与原码一致且一一对应;以下将介绍反码实现减法运算的过程

( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10

(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题.

( 1 )10 - ( 2)10

全部评论 (0)

还没有任何评论哟~