如何將二進位制轉換為十六進位制?
二進位制是最簡單的數制,它只使用 0 和 1 兩個數字(即基數為 2)。由於數位電子技術只有這兩種狀態(0 或 1),因此二進位制數在現代計算機工程師、網路和通訊專家以及其他專業人士中最為常用。
而十六進位制數是一種數值系統,其基數為 16,它只有 16 個符號——0、1、2、3、4、5、6、7、8、9 和 A、B、C、D、E、F。其中 A、B、C、D、E 和 F 分別表示十進位制值 10、11、12、13、14 和 15。
從二進位制到十六進位制數制的轉換
十六進位制數制提供了一種方便的方法,可以將較大的二進位制數轉換為更緊湊的小組。將二進位制數轉換為十六進位制數的方法有很多種。您可以使用直接方法或間接方法。首先,您需要將二進位制數轉換為其他進位制系統(例如,轉換為十進位制或八進位制)。然後,您需要將其轉換為十六進位制數。
最高有效位 (MSB) | 十六進位制點 | 最低有效位 (LSB) | |||
---|---|---|---|---|---|
162 | 161 | 160 | 16-1 | 16-2 | 16-3 |
256 | 16 | 1 | 1/16 | 1/256 | 1/4096 |
由於數字是位置數制的一種型別。這意味著從右到左的位置權重為 160、161、162、163 等,對於整數部分;從左到右的位置權重為 16-1、16-2、16-3 等,對於小數部分。
示例——將二進位制數 1101010 轉換為十六進位制數。
First convert this into decimal number: = (1101010)2 = 1x26+1x25+0x24+1x23+0x22+1x21+0x20 = 64+32+0+8+0+2+0 = (106)10 Then, convert it into hexadecimal number = (106)10 = 6x161+10x160 = (6A)16 which is answer.
但是,也有一種直接的方法可以將二進位制數轉換為十六進位制數——分組,如下所述。
使用分組
由於十六進位制數制中只有 16 個數字(從 0 到 7 和 A 到 F),因此我們可以使用僅 4 位來表示十六進位制數制中的任何一位數字,如下所示:
十六進位制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
二進位制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
十六進位制 | 8 | 9 | A | B | C | D | E | F |
二進位制 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
因此,如果您將二進位制輸入數的每 4 位分成一組,然後用其等效的十六進位制數字替換每一組二進位制數,則該數的十六進位制數就得到了。請注意,您可以向整數部分的最左位(或最高有效位)新增任意數量的 0,並向小數部分的最右位(或最低有效位)新增任意數量的 0 以完成 4 位一組,這不會改變輸入二進位制數的值。
因此,以下是將二進位制數轉換為十六進位制數的步驟。
取二進位制數
將二進位制數字分成四位一組(從右開始)用於整數部分,從左開始用於小數部分。
將每組四個二進位制數字轉換為一個十六進位制數字。
這是一個簡單的演算法,您需要將二進位制數分組並替換其等效的十六進位制數字。
示例 1——將二進位制數 1010101101001 轉換為十六進位制數。這裡沒有二進位制點,也沒有小數部分。因此,
因此,二進位制到十六進位制為:
= (1010101101001)2 = (1 0101 0110 1001)2 = (0001 0101 0110 1001)2 = (1 5 6 9)16 = (1569)16
示例 2——將二進位制數 001100101.110111 轉換為十六進位制數。這裡有二進位制點和小數部分。因此,
因此,二進位制到十六進位制為:
= (001100101.110111)2 = (0 0110 0101 . 1101 1100)2 = (0110 0101 . 1101 1100)2 = (6 5 . D C)16 = (65.DC)16
以上是將二進位制數轉換為十六進位制數的簡單轉換。