有符号二进制整数

有符号整数是带有“ +”或“-”符号的数字。如果使用n位表示带符号的二进制整数,则n位中的1位将用于表示数字的符号,其余(n-1)位将用于表示数字本身的大小部分。

一个真实的例子是世界上各个城市的温度列表(校正到最接近的数字)。显然,它们是带符号的整数,例如+ 34,-15,-23和+17。这些数字及其符号必须仅在计算机中使用二进制符号轨道表示。

有多种方法来表示计算机中的已签名数字-

  • 符号和大小

  • 一个人的补

  • 补码

表示带符号数字的最简单方法是符号幅度(SM)方法。

符号和幅度-符号幅度二进制格式是最简单的概念格式。在这种表示带符号数字的方法中,最高有效数字(MSD)具有额外的含义。

  • 如果MSD为0,我们可以像对待任何普通的无符号整数一样评估数字。同时我们也将这个数字视为正数。

  • 如果MSD为1,则表示数字为负。

    其他位指示数字的大小(绝对值)。假设有4位字长,一些带符号的十进制数及其在SM表示法中的等效形式将在后面出现。


签名十进制
符号幅度
     +6
   0110
     -6
   1110
     +0
   0000
     -0
   1000
     +7
    0111
     -7
   1111


范围

从上表可以明显看出,如果字长为n位,则可以表示的数字范围是-(2 n-1 -1)到+(2 n-1 -1)。下表显示了可以显示的字长和SM号范围。

字数
SM号范围
4
-7至+7
8
-127至+127
16
-32767至+32767
32
-2147483647至+2147483647

请注意,位序列1101对应于无符号数字13,以及SM表示法中的数字–5。它的值仅取决于用户或程序员解释位序列的方式。

补码-这是在计算机中表示有符号整数的方法之一。在这种方法中,最高有效位(MSD)具有额外的含义。

  • 如果MSD为0,我们可以评估该数字,就像解释任何普通的无符号整数一样。

  • 如果MSD为1,则表示数字为负。

其他位指示数字的大小(绝对值)。

如果数字为负,则其他位表示数字幅度的1的补码。

假定字长为4位,一些带符号的十进制数及其等价的1的补码表示如下。

签名十进制
1的补码
     +6
   0110
     -6
   1001
    +0
   0000
     -0
   1111
    +7
   0111
     -7
   1000


范围

从上表可以明显看出,如果字长为n位,则可以表示的数字范围为-(2 n- 1-1)到+(2 n-1 -1)。显示了字长和可表示的1的补码范围的表格。

字数
1的补码范围
4
-7至+7
8
-127至+127
16
-32767至+32767
32
-2147483647至+2147483647±2×10 +9(大约)