帶符號二進位制整數
帶符號整數是有“+”或“-”符號的數字。如果使用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 (約) |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP