二补数的数字表示方式 二补数的二补数及计算

二补数

最大优点

  是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。只要一种加法电路就可以处理各种有号数加法,而且减法可以用一个数加上另一个数的二补数来表示,因此只要有加法电路及二补数电路即可完成各种有号数加法及减法,在电路设计上相当方便。

  另外,二补数系统的 0 只有一个表示方式,这点和一补数系统不同(在一补数系统中,0 有二种表示方式),因此在判断数字是否为 0 时,只较比对一个不同的条件即可。

数字表示方式

说明

  二补数

  十进制

  0111

  7

  0110

  6

  ...

  ...

  0010

  2

  0001

  1

  0000

  0

  1111

  −1

  1110

  −2

  ...

  ...

  1001

  −7

  1000

  −8

  以下用 4 位的二补数数字来说明二补数系统的数字表示方式。

  ·在表示正数和零时,二补数数字和一般二进制一样,唯一的不同是在二补数系统中,正数的最高位恒为 0,因此4 位的二补数正数,最大数字为 0111 (7)。

  ·二补数数字的负数,最高位恒为 1,4 位二补数的数字中,最接近 0 的负数为 1111 (-1),以此类推,因此绝对值最大的负数是 1000 (-8)。

  以上的表示方式在电脑处理时格外方便,以下用以下的例子说明:

  0011 (3)

  + 1111 (-1)

  --------------

  10010 (2)

  结果 10010 似乎是错的,因为已经超过四个位,不过若忽略掉(从右数起的)第 5 个位,结果是 0010 (2),和我们计算的结果一样。而且若可以将二进制的 0001 (1) 变号为 1111 (-1),以上的式子也可以计算减法:3-1 = 2。

  在 n 位的二补数加减法中,忽略第 n+1 个位的作法在各种有号数加法下都适用(不过在判断是否溢出(overflow)时,仍然会用到第 n+1 个位)。因此在二补数的系统,加法电路就可以处理有负数的加法,不需另外处理减法的电路。而且,只要有电路负责数字的变号(例如将 1 变换为 -1),也可以用加法电路来处理减法。而数字的变号就用计算数字的二补数来完成。

  在一般 n 位的二进制数字中,最高有效位(MSB) 第 n 位代表的数字为 2^(n-1)。不过,在 n 位的二补数系统中,最高有效位(MSB) 第 n 位表示符号位,若符号位为 0,数字为正数或 0,若符号位为 1,数字为负数。以下是 n 位的二补数系统中,

计算

加法

  二补数系统数字的加法和一般加法相同,而且在运算完成后就可以看出结果的正负号,不需特别的处理。

本文网址:http://wwv.58jb.com/a/2021/05/698.html

. 广告区