📜  数字电子学中的2的补语

📅  最后修改于: 2020-12-30 04:28:55             🧑  作者: Mango

2的补码

就像1的补码一样,2的补码也用于表示有符号的二进制数。为了找到二进制数的2的补码,我们将首先找到二进制数的1的补码,然后将1加到二进制数的最低有效位。

例如,如果我们要计算数字1011001的2的补数,则首先,找到数字0的110的补数,然后将1加到LSB。因此,通过将1加到LSB,数字将为(0100110)+ 1 = 0100111。我们还可以使用“或”,“与”和“非”门来创建逻辑电路。查找5位二进制数的2的补码的逻辑电路如下:

范例1:110100

为了找到给定数字的2的补码,请将所有0都更改为1,将所有1都更改为0。因此,数字110100的1的补码为001011。现在,向该数字的LSB加1,即(001011)+ 1 = 001100 。

范例2:100110

为了找到给定数字的1的补码,请将所有0都更改为1,将所有1都更改为0。因此,数字100110的1的补码为011001。现在将这个数字的LSB加1,即(011001)+ 1 = 011010 。

2的补码表

Binary Number 1’s Complement 2’s complement
0000 1111 0000
0001 1110 1111
0010 1101 1110
0011 1100 1101
0100 1011 1100
0101 1010 1011
0110 1001 1010
0111 1000 1001
1000 0111 1000
1001 0110 0111
1010 0101 0110
1011 0100 0101
1100 0011 0100
1101 0010 0011
1110 0001 0010
1111 0000 0001

使用2的补码

2的补码用于表示有符号数并执行算术运算(例如减法,加法等)。正数仅表示为幅度形式。因此,代表正数没有任何关系。但是,如果我们代表负数,那么我们必须选择1的补码或2的补码技术。 1的补码是一种歧义技术,2的补码是一种明确技术。让我们看一个示例,以了解如何计算带符号的二进制数表示形式中的2的补码。

示例1:+6和-6

数字+6与二进制数相同。为了表示两个数字,请使用5位寄存器。

因此,+ 6在5位寄存器中表示为0 0110。

-6通过以下方式在5位寄存器中表示:

  • + 6 = 0 0110
  • 现在,找到数字0 0110的1的补码,即11001。
  • 现在,在其LSB中加1。当我们将11001的LSB加1时,新生成的数字为11010。此处,符号位为1,这表示该数字为负数。

示例2:+120和-120

数字+120与二进制数相同。为了表示两个数字,请使用8位寄存器。

因此,+ 120在8位寄存器中表示为0 1111000。

-120在8位寄存器中的表示方式如下:

  • + 120 = 0 1111000
  • 现在,找到数字0 1111000的1的补数,即10000111。在这里,MSB表示数字为负数。
  • 现在,在其LSB中加1。当我们对1 0000111的LSB加1时,新生成的数字为110001000。这里,符号位为1,这表示该数字为负数。