實際上,計算機本身是不需要十六進制的,計算機只需要二進制,需要十六進制的是人。
每個十六進制中的數(shù)字代表4個比特,你可以非常直觀的從十六進制中知道對應的二進制是啥,比如給定一個十六進制數(shù),假設其最后一位是9,那么你立刻就能知道將該十六進制數(shù)字轉(zhuǎn)為二進制后最后四位是1001:
十六進制數(shù)字9對應的二進制為1001。
十六進制數(shù)字19對應的二進制為11001。
十六進制數(shù)字119對應的二進制為1 00011001
但如果給定一個十進制數(shù)字,同樣假設其最后一位是9,你知道其對應的二進制嗎?顯然,你是不知道的。
十進制數(shù)字9對應的二進制為1001。
十進制數(shù)字19對應的二進制為1 0011。
十進制數(shù)字119對應的二進制為111 0111。
在十進制中,你必須知道所有的進位上的數(shù)字后才可以將其轉(zhuǎn)為二進制,這非常不直觀,顯然如果你想把復雜的十進制數(shù)字轉(zhuǎn)為二進制不稍加計算是搞不定的。
因此,我們可以得出結(jié)論:
十六進制是二進制的好朋友,但十進制不是
那么,為什么十六進制是二進制的好朋友呢?
關鍵在于進制數(shù)16是2的4次方,2^4 = 16,而進制數(shù)10并不是2的整數(shù)次冪,因此8進制(2^3),16進制(2^4),32進制(2^5),64進制(2^6)等等都是二進制的好朋友。
有的同學肯定會問,為什么我們不使用32進制呢?
使用32進制,每5個比特位可以用一個32進制數(shù)字來表示,由于人類的數(shù)字系統(tǒng)只有0~9,因此在16進制中10是字母a來表示的、11:b、12:c、13:d、14:e、15:f,但如果我們使用32進制,那么16:g、17:h.......31:v,這時給一個32進制數(shù)字“apple”,你的大腦可能會一團漿糊,但十六進制對人類來說基本可以應付得來,原因就在于16進制中人類熟悉的數(shù)字占據(jù)了10個,剩下的只借用了6個字母,還算簡單。
因此,32進制及以上都不太適合給人使用,原因就在于:
可讀性太差。
此外,使用十六進制還有一個重要原因:
一個字節(jié)有8個比特
我們知道內(nèi)存是按照字節(jié)粒度來尋址的,因此采用的數(shù)字系統(tǒng)必須很好的表達一個字節(jié),也就是8比特,從這個角度上看256進制(2^8)是最好的,因為一個256進制就是表達一個字節(jié),但還是基于可讀性的原因,256進制對于人類來說記憶負擔過重,而16進制則剛剛好,一個16進制數(shù)字表示一個字節(jié)的一半(4個比特),兩個16進制數(shù)字正好表示一個字節(jié)。
為什么一個字節(jié)有8比特而不是7比特或者9比特呢?其實答案很簡單:
歷史原因
要知道,早期的計算機可不是一個字節(jié)8比特,那時一個字節(jié)4比特、6比特或者7比特的都有。
但4比特或者6比特還是太受限制,因為我們需要把字母數(shù)字以及標點符號等等轉(zhuǎn)為二進制表示,4比特或6比特能表示的數(shù)量太少。
到了1963年,ASCII正式提出,該標準使用7比特來表示字符,但當時的IBM System/360大型機采用了8比特字節(jié),使得8比特字節(jié)開始流行起來,到后來微型計算機出現(xiàn)時也自然采用了這一表示方法。
審核編輯:劉清
-
計算機
+關注
關注
19文章
7488瀏覽量
87849 -
十六進制
+關注
關注
2文章
32瀏覽量
37731
原文標題:為什么計算機需要十六進制?
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論