Assembly 數(shù)制

2018-10-25 09:39 更新

計(jì)算機(jī)里的內(nèi)存由數(shù)字組成。計(jì)算機(jī)內(nèi)存并沒有以十進(jìn)制(基數(shù)為10)來儲(chǔ)存這些數(shù)字。因?yàn)橛?jì)算機(jī)以二進(jìn)制(基數(shù)為2)格式來儲(chǔ)存所有信息能極大地簡(jiǎn)化硬件。首先讓我們看一下十進(jìn)制數(shù)制。

十進(jìn)制

基數(shù)為10的數(shù)制由10個(gè)數(shù)碼(0-9)組成。一個(gè)數(shù)的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的10的乘方值。例如:

十進(jìn)制

二進(jìn)制

基數(shù)為2的數(shù)制由2個(gè)數(shù)碼(0和1)組成。一個(gè)數(shù)的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的2的乘方值。(一個(gè)二進(jìn)制數(shù)位被稱為一個(gè)比特位)例如:

二進(jìn)制

這些演示了二進(jìn)制如何轉(zhuǎn)換成十進(jìn)制。表1.1展示了開始的幾個(gè)十進(jìn)制數(shù)是如何以二進(jìn)制替代的。

二進(jìn)制中十進(jìn)制0到15

二進(jìn)制加法

圖1.1演示單個(gè)的二進(jìn)制數(shù)字(也就是:位)相加。下面是一個(gè)例子:

單個(gè)的二進(jìn)制數(shù)字

如果有人考慮了下面的十進(jìn)制的除法:

十進(jìn)制的除法
他可以看到這個(gè)除法除去了這個(gè)數(shù)的最右邊的十進(jìn)制數(shù)而且將其它的十進(jìn)制數(shù)向右移動(dòng)了一位。除以2也是同樣的操作,除了是為了得到一個(gè)數(shù)的二進(jìn)制位外。考慮下面二進(jìn)制數(shù)的除法:

二進(jìn)制數(shù)的除法
這個(gè)現(xiàn)象可以用來將一個(gè)十進(jìn)制轉(zhuǎn)換成它的等價(jià)的二進(jìn)制表示形式,像圖1.2展示的一樣。這種方法首先要找到最右邊的數(shù)位,這個(gè)數(shù)位被稱為最低的有效位(lsb)。最左邊的數(shù)位稱為最高的有效位(msb)。內(nèi)存的基本單元由8位組成,稱它為一個(gè)字節(jié)。

十進(jìn)制轉(zhuǎn)換

十六進(jìn)制

十六進(jìn)制數(shù)使用的基數(shù)為16.十六進(jìn)制(或者簡(jiǎn)短稱為hex)可以用作二進(jìn)制數(shù)的速記形式。十六進(jìn)制需要16個(gè)數(shù)碼。這就產(chǎn)生了一個(gè)問題,因?yàn)闆]有符號(hào)可以用來表示在9之后的額外的數(shù)字。通過協(xié)定,字母被用來表示這些額外的數(shù)字。這16個(gè)十六進(jìn)制數(shù)字是0-9,然后A,B,C,D,E和F。數(shù)A等價(jià)于十進(jìn)制的10,B是11,等等。一個(gè)十六進(jìn)制的每一位有基于它在數(shù)中的位置相關(guān)聯(lián)的16的乘方值。例如:

16的乘方值

將十進(jìn)制轉(zhuǎn)換成十六進(jìn)制,可以使用和二進(jìn)制轉(zhuǎn)換同樣的方法,除了除以16外。看例圖1.3.

十進(jìn)制轉(zhuǎn)換成十六進(jìn)制

十六進(jìn)制非常有用的原因是因?yàn)槭M(jìn)制和二進(jìn)制之間轉(zhuǎn)換有一個(gè)非常簡(jiǎn)單的方法。二進(jìn)制數(shù)非常大而且非常頻繁。十六進(jìn)制提供一個(gè)比較舒服的方法來表示二進(jìn)制數(shù)。

將一個(gè)十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),只需要簡(jiǎn)單地將每一位十六進(jìn)制數(shù)轉(zhuǎn)換成4位二進(jìn)制數(shù)。例如:轉(zhuǎn)換成。注意在這些4位二進(jìn)制數(shù)中領(lǐng)頭的0非常重要!如果中間的那位的4位二進(jìn)制數(shù)的領(lǐng)頭的0沒有使用的話,那么結(jié)果就是錯(cuò)的。從二進(jìn)制轉(zhuǎn)換成十六進(jìn)制同樣簡(jiǎn)單。只需反過來做剛才那個(gè)處理,將二進(jìn)制每4位一段轉(zhuǎn)換成十六進(jìn)制。從二進(jìn)制數(shù)的最右端開始,而不是最左端。這樣就能保證處理過程使用了正確的4位段,例如:

內(nèi)存單元

一個(gè)四位的數(shù)被稱為半子節(jié)。因此每一位十六進(jìn)制相當(dāng)于一個(gè)半子節(jié)。兩個(gè)半子節(jié)為一個(gè)字節(jié),所以一個(gè)字節(jié)可以用兩位十六進(jìn)制數(shù)來表示。一個(gè)字節(jié)值的范圍以二進(jìn)制表示為0到11111111,以十六進(jìn)制表示為0到FF,以十進(jìn)制表示為0到255.
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)