帶符號二進位制整數


帶符號整數是有“+”或“-”符號的數字。如果使用n位來表示帶符號二進位制整數,則n位中,1位用於表示數字的符號,其餘(n-1)位用於表示數字本身的數值部分。

一個現實世界的例子是世界各地不同城市的溫度列表(精確到最接近的數字)。顯然,它們是帶符號整數,例如+34、-15、-23和+17。這些數字及其符號必須僅使用二進位制表示或位在計算機中表示。

在計算機中表示帶符號數字的方法有很多:

  • 符號位和數值位

  • 反碼

  • 補碼

表示帶符號數字最簡單的方法是符號位和數值位(SM)方法。

**符號位和數值位** - 符號位和數值位二進位制格式是最簡單的概念格式。在這種表示帶符號數字的方法中,最高有效位 (MSD) 具有額外的含義。

  • 如果MSD為0,我們可以像處理任何普通的無符號整數一樣計算該數字。我們也將其視為正數。

  • 如果MSD為1,則表示該數字為負數。

    其他位表示數字的數值(絕對值)。以下是一些帶符號十進位制數字及其在SM表示法中的等效值,假設字長為4位。


帶符號十進位制
符號位和數值位
     +6
   0110
     -6
   1110
     +0
   0000
     -0
   1000
     +7
    0111
     -7
   1111


範圍

從上表可以看出,如果字長為n位,則可以表示的數字範圍是從-(2n-1 -1)到+(2n-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,則表示該數字為負數。

其他位表示數字的數值(絕對值)。

如果數字為負數,則其他位表示數字數值的反碼。

下表顯示了一些帶符號十進位制數字及其在反碼錶示法中的等效值,假設字長為4位。

帶符號十進位制
反碼
     +6
   0110
     -6
   1001
    +0
   0000
     -0
   1111
    +7
   0111
     -7
   1000


範圍

從上表可以看出,如果字長為n位,則可以表示的數字範圍是從-(2n-1- 1)到+(2n-1 -1)。下表顯示了字長和可以表示的反碼數字的範圍。

字長
反碼數字範圍
4
-7 到 +7
8
-127 到 +127
16
-32767 到 +32767
32
-2147483647 到 +2147483647 ±2 × 10+9 (約)


更新於:2020年6月27日

9K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.