十六进制整数
大的二進(jìn)制數(shù)讀起來很麻煩,因此十六進(jìn)制數(shù)字就提供了一種簡(jiǎn)便的方式來表示二進(jìn)制數(shù)據(jù)。十六進(jìn)制整數(shù)中的 1 個(gè)數(shù)字就表示了 4 位二進(jìn)制位,兩個(gè)十六進(jìn)制數(shù)字就能表示一個(gè)字節(jié)。
?
一個(gè)十六進(jìn)制數(shù)字表示的范圍是十進(jìn)制數(shù) 0 到 15,所以,用字母 A 到 F 來代表十進(jìn)制數(shù) 10 到 15。
?
下表列出了每個(gè) 4 位二進(jìn)制序列如何轉(zhuǎn)換為十進(jìn)制和十六進(jìn)制數(shù)值。
?
?
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | 10 | A |
| 0011 | 3 | 3 | 1011 | 11 | B |
| 0100 | 4 | 4 | 1100? | 12 | C |
| 0101 | 5 | 5 | 1101 | 13 | D |
| 0110 | 6 | 6 | 1110 | 14 | E |
| 0111 | 7 | 7 | 1111 | 15 | F |
下面的例子說明了二進(jìn)制數(shù) 0001 0110 1010 0111 1001 0100 是如何與十六進(jìn)制數(shù) 16A794 等價(jià)的。
?
| 1 | 6 | A | 7 | 9 | 4 |
| 0001 | 0110 | 1010 | 0111 | 1001 | 0100 |
無符號(hào)十六進(jìn)制數(shù)到十進(jìn)制的轉(zhuǎn)換
十六進(jìn)制數(shù)中,每一個(gè)數(shù)字位都代表了 16 的冪。這有助于計(jì)算一個(gè)十六進(jìn)制整數(shù)的十進(jìn)制值。假設(shè)用下標(biāo)來對(duì)一個(gè)包含 4 個(gè)數(shù)字的十六進(jìn)制數(shù)編號(hào) D3D2D1D0。
下式計(jì)算了這個(gè) 整數(shù)的十進(jìn)制值:
dec = (D3?X 163) + (D2?X 162) + (D1?X 161) + (D0?x 160)
這個(gè)表達(dá)式可以推廣到任意n位數(shù)的十六進(jìn)制整數(shù):
dec = (Dn-1?X 16n-1)+ (Dn-2?x 16n-2)+…+ (D1?X 161)+ (D0?x 160)
一般情況下,可以通過公式把基數(shù)為B的任何n位整數(shù)轉(zhuǎn)換為十進(jìn)制數(shù):
dec = (D?n-1?X Bn-1) + (Dn-2?X Bn-2) +…+ (D1?X B1) + (D0?x B0)。
比如,十六進(jìn)制數(shù)1234就等于(1 x 163) + (2 x 162) +(3X161) + (4×160),也就是十進(jìn)制數(shù) 4660。同樣,十六進(jìn)制數(shù) 3BA4 等于(3 x 163)+(11 x 162)+(10 x 161)+( 4 ?x ?160),也就是十進(jìn)制數(shù)15 268。
?
下圖演示了第二個(gè)數(shù)轉(zhuǎn)換的計(jì)算過程:
?
?
?
下表列出了 16 的冪從160?到167?的十進(jìn)制數(shù)值。
| 160 | 1 | 164 | 65 536 |
| 161 | 16 | 165 | 1 048 576 |
| 162 | 256 | 166 | 16 777 216 |
| 163 | 4096 | 167 | 268 435 456 |
無符號(hào)十進(jìn)制數(shù)到十六進(jìn)制的轉(zhuǎn)換
無符號(hào)十進(jìn)制整數(shù)轉(zhuǎn)換到十六進(jìn)制數(shù)的過程是,把這個(gè)十進(jìn)制數(shù)反復(fù)除以16,每次取余數(shù)作為一個(gè)十六進(jìn)制數(shù)字。例如,下表列出了十進(jìn)制數(shù) 422 轉(zhuǎn)換為十六進(jìn)制的步驟:
| 422/16 | 26 | 6 |
| 26/16 | 1 | A |
| 1/16 | 0 | 1 |
表中,余數(shù)列的數(shù)字按照最后一行到第一行的順序,組合為十六進(jìn)制的結(jié)果。因此本例中,十六進(jìn)制結(jié)果就表示為1A6。同樣的算法也適用于《二進(jìn)制整數(shù)》一節(jié)中的二進(jìn)制整數(shù)。如果要將十進(jìn)制數(shù)轉(zhuǎn)換為其他進(jìn)制數(shù),就在計(jì)算時(shí)把除數(shù)(16)換成相應(yīng)的基數(shù)。
匯編語言基本概念簡(jiǎn)介
1.1 匯編語言是什么
1.2 匯編語言的應(yīng)用
1.3 虛擬機(jī)是什么
1.4 匯編語言的數(shù)據(jù)表示
1.5 二進(jìn)制整數(shù)
1.6 二進(jìn)制加法運(yùn)算
1.7 字節(jié)(byte)
1.8 十六進(jìn)制整數(shù)
1.9 補(bǔ)碼及進(jìn)制轉(zhuǎn)換
1.10 二進(jìn)制減法運(yùn)算
總結(jié)
- 上一篇: jqgrid 列表条件查询的几步关键操作
- 下一篇: 架构师之DNS实战