补码的理解

来源:互联网 发布:macbook下软件好下吗 编辑:程序博客网 时间:2024/06/15 08:17

在二进制加法机实现后,减法如何实现便成了问题。借用数学的转化与化归思想,这里将减法过程转化为加法,即加一个负数。那如何在加法机里表示负数呢?

(以下叙述皆采用10进制) 我们看时钟,2点转到1点,有两种方式,倒退1小时或前进11小时。所以在0~11这个计数范围内,减1与加11是等价的,即-1与11等价。因此要实现  X= [ -6,-5...0,1...5 ] 这个计数范围的机器表示,需要12个数,即A = [0,1,...5,6...11] 。与A对应的数为B = [0,1...5,-6,-5...-1]。现在集合A表示编码后的值,B表示真值。

所以,X范围内的数进行运算先用机器表示,映射到A,再求和。求和结果若大于12,再减去12。这样就得到机器数表示的结果。再翻译为X范围内的数。


计算机中的符号数有三种表示方法:原码(表示整数大小的值)、反码、补码。规定正整数的原码、补码、反码相同。负整数的补码等于原码取反加1。



0 0
原创粉丝点击