原码(Sign and Magnitude)表示

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050501-300x204.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050501-300x204.png)

补码- 模运算(modular运算)

重要概念:在一个模运算系统中,一个数与它除以“模”后的余数等价。 现实世界中的模运算系统,时钟是一种模12系统 假定钟表时针指向10点,要将它拨向6点, 则有两种拨法: ① 倒拨4格:10- 4 = 6 ② 顺拨8格:10+8 = 18 ≡ 6 (mod 12) 模12系统中: 10- 4 ≡ 10+8 (mod 12) - 4 ≡ 8 (mod 12) 则,称8是- 4对模12的补码(即:- 4的模12补码等于8)。 同样有-3 ≡ 9 (mod 12) -5 ≡ 7 (mod 12)等 结论1: 一个负数的补码等于模减该负数的绝对值。 结论2: 对于某一确定的模,某数减去小于模的另一数,总可以用该数加上另一数负数的补码来代替。 补码(modular运算):+ 和– 的统一

补码(2’s comlement)的表示

现实世界的模运算系统举例 例1:“钟表”模运算系统 假定时针只能顺拨,从10点倒拨4格后是几点? 10- 4 = 10+(12- 4) = 10+8 = 6(mod 12) 例2:“4位十进制数” 模运算系统 假定算盘只有四档,且只能做加法,则在算盘上计算9828-1928等于多少? 9828-1928=9828+(104-1928) =9828+8072 = 1 7900 =7900(mod 104) 取模即只留余数,高位“1”被丢弃!相当于只有低4位留在算盘上。

计算机中的运算器是模运算系统:

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050502-300x123.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050502-300x123.jpg)

求特殊数的补码:

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050503-300x143.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050503-300x143.png)

变形补码(4’s comlement)的表示:

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050504-300x200.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050504-300x200.png)

求真值的补码

就比如-9 补码是11110111。 9的源码为00001001,如果是负数的话,补码为最高位置1,其余取反也就是11110110, 然后在最低位加1即可即11110111。 [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050505-300x181.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050505-300x181.png)

求补码的真值:

理论上的求法: 令:[A]补= an-1an-2…… a1a0 则: A= -an-1.2n-1+an-2 .2n-2+ …… a1 .21+ a0 .20 例如: 补码“11010110”的真值为 -27+26+24+22+2=-128+64+16+4+2=-42 补码“01010110”的真值为 -0.27+26+24+22+2=64+16+4+2=86 简便求法: 符号为0,则为正数,数值部分相同 符号为1,则为负数,数值各位取反,末位加1 例如:补码“01010110”的真值为+1010110=64+16+4+2=86 例如:补码“11010110”的真值为-0101010=-(32+8+2)=-42

移码表示Excess (biased) notion:

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050506-300x206.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050506-300x206.png)

视频链接:

计算机系统基础(一):程序的表示,转换与链接

计算机系统基础(二):程序的执行和存储访问

计算机系统基础(三):异常、中断和输入/输出