計算機里的內(nèi)存由數(shù)字組成。計算機內(nèi)存并沒有以十進制(基數(shù)為10)來儲存這些數(shù)字。因為計算機以二進制(基數(shù)為2)格式來儲存所有信息能極大地簡化硬件。首先讓我們看一下十進制數(shù)制。
十進制
基數(shù)為10的數(shù)制由10個數(shù)碼(0-9)組成。一個數(shù)的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的10的乘方值。例如:
二進制
基數(shù)為2的數(shù)制由2個數(shù)碼(0和1)組成。一個數(shù)的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的2的乘方值。(一個二進制數(shù)位被稱為一個比特位)例如:
這些演示了二進制如何轉(zhuǎn)換成十進制。表1.1展示了開始的幾個十進制數(shù)是如何以二進制替代的。
圖1.1演示單個的二進制數(shù)字(也就是:位)相加。下面是一個例子:
如果有人考慮了下面的十進制的除法:
他可以看到這個除法除去了這個數(shù)的最右邊的十進制數(shù)而且將其它的十進制數(shù)向右移動了一位。除以2也是同樣的操作,除了是為了得到一個數(shù)的二進制位外。考慮下面二進制數(shù)的除法:
這個現(xiàn)象可以用來將一個十進制轉(zhuǎn)換成它的等價的二進制表示形式,像圖1.2展示的一樣。這種方法首先要找到最右邊的數(shù)位,這個數(shù)位被稱為最低的有效位(lsb)。最左邊的數(shù)位稱為最高的有效位(msb)。內(nèi)存的基本單元由8位組成,稱它為一個字節(jié)。
十六進制
十六進制數(shù)使用的基數(shù)為16.十六進制(或者簡短稱為hex)可以用作二進制數(shù)的速記形式。十六進制需要16個數(shù)碼。這就產(chǎn)生了一個問題,因為沒有符號可以用來表示在9之后的額外的數(shù)字。通過協(xié)定,字母被用來表示這些額外的數(shù)字。這16個十六進制數(shù)字是0-9,然后A,B,C,D,E和F。數(shù)A等價于十進制的10,B是11,等等。一個十六進制的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的16的乘方值。例如:
將十進制轉(zhuǎn)換成十六進制,可以使用和二進制轉(zhuǎn)換同樣的方法,除了除以16外??蠢龍D1.3.
十六進制非常有用的原因是因為十六進制和二進制之間轉(zhuǎn)換有一個非常簡單的方法。二進制數(shù)非常大而且非常頻繁。十六進制提供一個比較舒服的方法來表示二進制數(shù)。
將一個十六進制數(shù)轉(zhuǎn)換成二進制數(shù),只需要簡單地將每一位十六進制數(shù)轉(zhuǎn)換成4位二進制數(shù)。例如:

轉(zhuǎn)換成

。注意在這些4位二進制數(shù)中領(lǐng)頭的0非常重要!如果

中間的那位的4位二進制數(shù)的領(lǐng)頭的0沒有使用的話,那么結(jié)果就是錯的。從二進制轉(zhuǎn)換成十六進制同樣簡單。只需反過來做剛才那個處理,將二進制每4位一段轉(zhuǎn)換成十六進制。從二進制數(shù)的最右端開始,而不是最左端。這樣就能保證處理過程使用了正確的4位段,例如:
一個四位的數(shù)被稱為半子節(jié)。因此每一位十六進制相當(dāng)于一個半子節(jié)。兩個半子節(jié)為一個字節(jié),所以一個字節(jié)可以用兩位十六進制數(shù)來表示。一個字節(jié)值的范圍以二進制表示為0到11111111,以十六進制表示為0到FF,以十進制表示為0到255.
更多建議: