📜  二进制数字表示

📅  最后修改于: 2021-01-08 05:38:03             🧑  作者: Mango


我们可以将二进制数字分为以下两组-无符号数和有符号数

无符号数字

无符号数字仅包含数字的大小。他们没有任何迹象。这意味着所有无符号二进制数均为正。与十进制数字系统一样,在数字前面放置正号是表示正数的可选步骤。因此,如果未在数字前面加上正号,则所有包含零的正数都可以视为无符号数。

签名号码

带符号的数字包含数字的符号和大小。通常,标志放在数字前面。因此,我们必须考虑正数为正数,负数为负数。因此,如果在数字前面分配了相应的符号,则所有数字都可以视为带符号的数字。

如果符号位为零,则表示二进制数为正。同样,如果符号位为1,则表示二进制数为负。

无符号二进制数的表示形式

无符号二进制数中存在的位保留数字的大小。这意味着,如果无符号二进制数包含“ N”个位,则所有N个位都代表该数字的大小,因为它没有任何符号位。

考虑十进制数108 。该数字的二进制等效值为1101100 。这是无符号二进制数的表示形式。

(108) 10 =(1101100) 2

它有7位。这7位代表数字108的大小。

表示有符号的二进制数

带符号的二进制数字的最高有效位(MSB)用于指示数字的符号。因此,它也称为符号位。正号通过在符号位中放置“ 0”来表示。类似地,负号通过在符号位中放置“ 1”来表示。

如果带符号的二进制数字包含“ N”个位,则(N-1)个位仅表示数字的大小,因为保留了一位(MSB)来表示数字的符号。

有符号二进制数的三种表示形式

  • 符号幅度形式
  • 1的补码形式
  • 2的补码形式

这三种形式的正数表示都是相同的。但是,每种形式中只有负数的表示形式会有所不同。

考虑正十进制数+108 。该数值的二进制等效值为1101100。这7位代表数值108的幅值。由于它是正数,因此将符号位视为零,该符号位位于数值的最左侧。

(+108) 10 =(01101100) 2

因此,正十进制数+108的带符号二进制表示形式是𝟎𝟏𝟏𝟎𝟏𝟏𝟎𝟎。因此,对于正十进制数+108,相同的表示形式在符号量级形式,1的补码形式和2的补码形式中有效。

符号幅度形式

在符号大小形式中,MSB用于表示数字的符号,其余位表示数字的大小。因此,只需在无符号二进制数的最左侧包含符号位即可。此表示类似于带符号的十进制数字表示。

考虑负十进制数-108 。这个数字的大小是108。我们知道108的无符号二进制表示是1101100。它具有7位。所有这些位代表幅度。

由于给定的数字为负,因此将符号位视为1,该符号位位于幅度的最左侧。

(−108) 10 =(11101100) 2

因此,-108的符号幅度表示为11101100

1的补码形式

一个数字的1的补码是通过有符号二进制数的所有位进行补码获得的。因此,正数的1的补码给出负数。同样,负数的1的补码给出一个正数。

这意味着,如果对二进制数字(包括符号位)执行两次1的补码运算,则将获得原始的带符号二进制数字。

考虑负十进制数-108 。这个数字的大小是108。我们知道108的带符号二进制表示形式是01101100。

它有8位。该数字的最高有效位为零,表示正数。零的补码为1,反之亦然。因此,将零替换为一,将零替换为零,以获得负数。

(−108) 10 =(10010011) 2

因此, (108) 101的补码(10010011) 2

2的补码形式

二进制数的2的补码是通过在带符号的二进制数的1的补码加上1而获得的。因此,正数的2的补码给出负数。同样,负数的2补码给出一个正数。

这意味着,如果对二进制数字(包括符号位)执行两次2的补码运算,则将获得原始的带符号二进制数字。

考虑负十进制数-108

我们知道( 108 ) 10的1的补码是( 10010011 ) 2

(108) 10的2的补数=(108) 10 + 1的1的补数

= 10010011 +1

= 10010100

因此, (108) 102的补数(10010100) 2