數位電路/二進位制系統
| 十進位制 | 二進位制 | 八進位制 (基數 8) |
十六進位制 (基數 16) |
|---|---|---|---|
| 00 | 0000 | 00 | 0 |
| 01 | 0001 | 01 | 1 |
| 02 | 0010 | 02 | 2 |
| 03 | 0011 | 03 | 3 |
| 04 | 0100 | 04 | 4 |
| 05 | 0101 | 05 | 5 |
| 06 | 0110 | 06 | 6 |
| 07 | 0111 | 07 | 7 |
| 08 | 1000 | 10 | 8 |
| 09 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
為了將十進位制數轉換為二進位制數,您必須以 2 的冪而不是 10 的冪來思考。
| 冪表示 | 24 | 23 | 22 | 21 | 20 |
|---|---|---|---|---|---|
| 權重 | 16 | 8 | 4 | 2 | 1 |
1111 = 15 是
| 冪表示 | 24 | 23 | 22 | 21 | 20 |
|---|---|---|---|---|---|
| 權重 | 16 | 8 | 4 | 2 | 1 |
| 十進位制值“15” | 0 | 1 | 1 | 1 | 1 |
23 + 22 + 21 + 20 = 8+4+2+1 = 15.
用二進位制表示 31 = 11111 是
24 + 15,如上所述。
請記住,最低有效位(傳統上是最右邊的)數字是 20,等於 1。
根據角色
二進位制是數位電路的固有數字系統,但對於人類來說,長串的 1 和 0 並不容易讀寫。因此,人們開發了易於與二進位制進行轉換的數字系統,包括八進位制和十六進位制。
八進位制數字系統是基數 8,與我們的本機數字系統(十進位制)是基數 10 相比。在基數 8 中,僅使用 0 到 7 的數字。每個八進位制數字可以用三個二進位制位表示,如上轉換表(在二進位制數字下)所示。
八進位制和二進位制之間的轉換很簡單。要從八進位制轉換為二進位制,將每個八進位制數字轉換為其三位等效值,反之亦然。
類似地,十六進位制數字系統(基數 16)便於與二進位制進行轉換。每個十六進位制數字正好表示四個二進位制位,如上表所示。
請注意,在十六進位制中,字母 A 到 F 用於分別表示 10 到 15 的十進位制等效值。
長串的位可以使用八進位制和十六進位制以更緊湊的方式表示。在這兩者中,十六進位制更常用。由於每個十六進位制數字代表四個位,因此十六進位制非常適合表示現代系統中可能出現的數值(16、32 或 64 位)。十六進位制值通常以“0x”表示 - 例如,0xFF 是 255 的十六進位制等效值。
一補碼是透過取給定數字(用二進位制表示),然後“翻轉”每個位來計算的,這樣原始數字中的每個 0 現在在一位補碼中表示為 1,原始數字中的每個 1 在一位補碼中表示為 0。二進位制數與其一補碼的邏輯與全為 0。二進位制數與其一補碼的邏輯或全為 1。
二補碼是透過取二進位制值的位補碼,然後加 1 來形成的。二補碼用於表示有符號整數。一個數字的負數表示為原始數字的二補碼。減法可以透過將值的負數(二補碼)新增到另一個值來執行。N 位可以表示的最小整數是 -2N-1,而最大數字是 2N-1-1。
AB78(十六進位制)= 1010 1011 0111 1000(二進位制)0xAB78 的一位補碼是 0101 0100 1000 0111。0xAB78 的二補碼是 0101 0100 1000 1000。
1F1F(十六進位制)= 0001 1111 0001 1111(二進位制)0x1F1F 的一位補碼是 1110 0000 1110 0000。0x1F1F 的二補碼是 1110 0000 1110 0001。