有符号整数是带有“ +”或“-”符号的数字。如果使用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(大约) |