微型計(jì)算機(jī)原理與應(yīng)用:第二章 計(jì)算機(jī)中的數(shù)制和碼制_第1頁
微型計(jì)算機(jī)原理與應(yīng)用:第二章 計(jì)算機(jī)中的數(shù)制和碼制_第2頁
微型計(jì)算機(jī)原理與應(yīng)用:第二章 計(jì)算機(jī)中的數(shù)制和碼制_第3頁
微型計(jì)算機(jī)原理與應(yīng)用:第二章 計(jì)算機(jī)中的數(shù)制和碼制_第4頁
微型計(jì)算機(jī)原理與應(yīng)用:第二章 計(jì)算機(jī)中的數(shù)制和碼制_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二章 計(jì)算機(jī)中的數(shù)制和碼制本章學(xué)習(xí)目標(biāo)熟練掌握計(jì)算機(jī)系統(tǒng)中各種進(jìn)制數(shù)的轉(zhuǎn)換; 熟練掌握計(jì)算機(jī)系統(tǒng)中常用數(shù)值編碼的形式及其轉(zhuǎn)換 ;了解計(jì)算機(jī)系統(tǒng)中的數(shù)值計(jì)算的規(guī)律 ;內(nèi)容分布2.1 數(shù)和數(shù)制2.2有符號(hào)二進(jìn)制數(shù)的表示方法及溢出問題2.3定點(diǎn)數(shù)和浮點(diǎn)數(shù)2.4二進(jìn)制編碼的十進(jìn)制數(shù)(BCD碼)2.5ASCII字符代碼2.1 數(shù)和數(shù)制一、各種數(shù)制及其多項(xiàng)式表示法 人們?cè)趹?yīng)用各種數(shù)字符號(hào)表示事物個(gè)數(shù)的長(zhǎng)期過程中形成了各種數(shù)制。數(shù)制是以表示數(shù)值所用的數(shù)字符號(hào)的個(gè)數(shù)來命名的,常見的有十進(jìn)制、二進(jìn)制、十六進(jìn)制等。各種數(shù)制中數(shù)字符號(hào)的個(gè)數(shù)稱為該數(shù)制的基數(shù)。在我們?nèi)粘5纳钪校褂玫氖鞘M(jìn)制,也稱自然進(jìn)制。而在計(jì)

2、算機(jī)中由于使用器件的物理狀態(tài)來表示數(shù)字,為了方便和可靠,就采用了二進(jìn)制數(shù)字系統(tǒng)。各種進(jìn)制以及位置表示法十進(jìn)制數(shù):采用十個(gè)數(shù)字和小數(shù)點(diǎn)符號(hào)來表示任意十進(jìn)制數(shù),比如374.53。二進(jìn)制數(shù):只有,兩個(gè)數(shù)字符號(hào),比如(1101.011)2。十六進(jìn)制數(shù):采用和AF等十六個(gè)數(shù)字符號(hào),其中A到F分別對(duì)應(yīng)十進(jìn)制中的10到15兩個(gè)數(shù),比如(10AF.12)16。此外,常用的進(jìn)制還有八進(jìn)制等多種進(jìn)制。為避免混淆,要在數(shù)字后面加添區(qū)分符,可以是數(shù)字角注,也可以是字母角注。其中分別用B,D,H代表二進(jìn)制、十進(jìn)制和十六進(jìn)制。十進(jìn)制、二進(jìn)制、十六進(jìn)制數(shù)碼對(duì)照表十進(jìn)制二進(jìn)制十六進(jìn)制00000B0H10001B1H20010

3、B2H30011B3H40100B4H50101B5H60110B6H70111B7H81000B8H十進(jìn)制二進(jìn)制十六進(jìn)制91001B9H101010B0AH111011B0BH121100B0CH131101B0DH141110B0EH151111B0FH1610000B10H位置計(jì)數(shù)法 同一個(gè)數(shù)字在不同的數(shù)位代表的數(shù)值是不同的,這種計(jì)數(shù)方法稱為位置計(jì)數(shù)法。在位置計(jì)數(shù)法中,對(duì)每一個(gè)數(shù)位賦予不同的位值,稱為權(quán)。每個(gè)數(shù)位上的數(shù)字所表示的量是這個(gè)數(shù)字和該數(shù)位的權(quán)的成績(jī)。所以一般來說,對(duì)于基數(shù)為X的任意數(shù)可以用多項(xiàng)式表示二、各種數(shù)制的相互轉(zhuǎn)換非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)可將其按定義展開為多項(xiàng)式,將X=1

4、0代入,按照十進(jìn)制加法進(jìn)行計(jì)算,所得結(jié)果即為對(duì)應(yīng)的十進(jìn)制數(shù)。十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù)整數(shù)部分按照基數(shù)進(jìn)行連除,直到商為為止,所得的余數(shù)序列逆序就為對(duì)應(yīng)的非十進(jìn)制數(shù);小數(shù)部分按照基數(shù)進(jìn)行連乘,直到小數(shù)部分為或達(dá)到計(jì)算要求的精度為止,每次乘積的整數(shù)部分序列就為對(duì)應(yīng)的非十進(jìn)制小數(shù)。例1將十進(jìn)制數(shù)47轉(zhuǎn)化為二進(jìn)制形式。 即 (47)10=(101111)2例2將十進(jìn)制數(shù)0.625轉(zhuǎn)化為二進(jìn)制形式。 即:(0.625)10= (0.101)2 十六進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換 二進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù)的方法:從小數(shù)點(diǎn)開始分別向左向右把整數(shù)及小數(shù)部分每位分成一組,如果不足則補(bǔ)。將十六進(jìn)制數(shù)取代每組的數(shù)值,就可

5、得到對(duì)應(yīng)的十六進(jìn)制數(shù)。例如:二進(jìn)制:0010 1110 1001 . 1101 0100 十六進(jìn)制: E . D 十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的方法是:用對(duì)應(yīng)的位二進(jìn)制數(shù)取代位十六進(jìn)制數(shù)。例如:十六進(jìn)制數(shù): C A . B 二進(jìn)制數(shù):0101 1100 0111 1010. 0011 1011三、二進(jìn)制數(shù)的算術(shù)運(yùn)算二進(jìn)制數(shù)不僅物理實(shí)現(xiàn)容易,而且運(yùn)算方法也較十進(jìn)制數(shù)簡(jiǎn)單,只要注意加法是“逢二進(jìn)一”和減法是“借一作二”的特點(diǎn),根據(jù)十進(jìn)制的算術(shù)運(yùn)算規(guī)則,就可以完成。四、二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)常用的邏輯運(yùn)算有與、或、異或及非運(yùn)算四種,在組成表達(dá)式的時(shí)候,可以分別用符號(hào)AND、OR、XOR及NOT代表,

6、有時(shí)也可以用、等符號(hào)。二進(jìn)制數(shù)的邏輯運(yùn)算只按位進(jìn)行運(yùn)算。返回本章首頁2.2有符號(hào)二進(jìn)制數(shù)的表示方法及溢出問題一、有符號(hào)數(shù)的表示方法 為了表示一個(gè)有符號(hào)數(shù),除了數(shù)值位外,還應(yīng)制定符號(hào)位,通常以該數(shù)的最高位為符號(hào)位。D6DDDD3DDD符號(hào)位數(shù)值位原碼表示法 如果正數(shù)的符號(hào)位用表示,負(fù)數(shù)的符號(hào)位用表示,數(shù)值位表示該數(shù)的絕對(duì)值,這種表示方法就稱為原碼表示法。X原 原碼表示法簡(jiǎn)單容易理解,與真值的轉(zhuǎn)換也方便這是它的優(yōu)點(diǎn)。缺點(diǎn)是+和-的表示形式不統(tǒng)一,帶來了運(yùn)算時(shí)的麻煩。位二進(jìn)制原碼所能表示的數(shù)值范圍是-127+127。Xn-2Xn-3X1X0當(dāng)X1 Xn-2Xn-3X1X0 當(dāng)X補(bǔ)碼表示法a補(bǔ)=a+K

7、 (mod K) = 正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼等于其原碼除符號(hào)位保持不變,其余各位按位取反,再在最低位加。在這里,的補(bǔ)碼表示只有唯一的形式。位二進(jìn)制補(bǔ)碼所能表示的數(shù)值范圍為-128+127。a 0aKK-|a| -Ka0補(bǔ)碼的運(yùn)算規(guī)則: X補(bǔ)補(bǔ)X原 X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) (mod 2n) X-Y補(bǔ)=X補(bǔ)-Y補(bǔ) (mod 2n) X-Y補(bǔ)=X補(bǔ)+-Y補(bǔ) (mod 2n) X補(bǔ)-Y補(bǔ)=X補(bǔ)+-Y補(bǔ) (mod 2n) 需要指出的是,一旦采用補(bǔ)碼進(jìn)行加減運(yùn)算,所有參加運(yùn)算的數(shù)和結(jié)果都是用補(bǔ)碼表示的。要得到真值,還需轉(zhuǎn)換。二、有符號(hào)數(shù)的溢出問題 如果計(jì)算機(jī)的字長(zhǎng)是n位,最高位是符號(hào)位,采用補(bǔ)碼

8、表示法時(shí),可表示的數(shù)的范圍為-2n-12n-1-1 如果運(yùn)算結(jié)果超出可表示的有符號(hào)數(shù)的范圍時(shí),就會(huì)發(fā)生溢出,使計(jì)算結(jié)果出錯(cuò)。加法運(yùn)算時(shí):如果次高位(數(shù)值部分最高位)形成進(jìn)位加入最高位,而最高位(符號(hào)位)沒有進(jìn)位輸出時(shí);反過來,次高位沒有進(jìn)位加入最高位,但最高位卻有進(jìn)位輸出時(shí),都會(huì)產(chǎn)生溢出。這兩種情況分別是:兩整數(shù)相加超出了能表示的最大數(shù),變成了負(fù)數(shù);兩負(fù)數(shù)相加,超出了能表示的最小數(shù),變成了正數(shù)。減法運(yùn)算時(shí):當(dāng)次高位不需從最高位借位,但最高位卻需借位(正數(shù)減負(fù)數(shù),差超出范圍,結(jié)果為負(fù)數(shù));反過來,次高位需從最高位借位,但最高位不需借位(負(fù)數(shù)減正數(shù),差超出范圍,結(jié)果為正數(shù)),都會(huì)產(chǎn)生溢出。例如:0

9、1001000B +72 01100010B +9810101010B -86+72與+98之和為+170,超過了位二進(jìn)制數(shù)的所能表示的最大數(shù)+127,產(chǎn)生了上溢,所以得到了錯(cuò)誤的結(jié)果-86。10101101B-83+ 10110000B -8001011101B +93-83與-80之和應(yīng)為-163,超過了位二進(jìn)制數(shù)所能表示的最小數(shù)-128,產(chǎn)生了下溢,得到了錯(cuò)誤結(jié)果+93。01001000B+72 - 10110000B -9810101010B -86+72與-98之差應(yīng)為+170,超過了位二進(jìn)制數(shù)所能表示的最大數(shù)+127,產(chǎn)生了上溢,得到了錯(cuò)誤結(jié)果-86。10101101B -83 -

10、 01010000B +8001011101B +93-83與+80之差應(yīng)為-163,超出了位二進(jìn)制數(shù)所能表示的最小數(shù)-128,產(chǎn)生下溢,得到錯(cuò)誤結(jié)果為+93。在后面的章節(jié)中會(huì)說明,當(dāng)在加減運(yùn)算過程中超出有符號(hào)數(shù)所能表示的數(shù)值范圍時(shí),溢出標(biāo)志OF被置。返回本章首頁2.3定點(diǎn)數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)中,用二進(jìn)制表示實(shí)數(shù)的方法有兩種,即定點(diǎn)法和浮點(diǎn)法。定點(diǎn)法所謂定點(diǎn)法,即小數(shù)點(diǎn)在數(shù)中的位置是固定不變的,以定點(diǎn)法表示的實(shí)數(shù)稱作定點(diǎn)數(shù)。方法一:規(guī)定小數(shù)點(diǎn)固定在最高數(shù)值位之前,機(jī)器中所能表示的都是小數(shù)。n位數(shù)值部分所能表示的數(shù)N的范圍(原碼表示)為1-2-nN-(1-2-n)符號(hào)位數(shù)值位小數(shù)點(diǎn)方法二:規(guī)定小數(shù)

11、點(diǎn)固定在最低數(shù)值位之后,機(jī)器中所能表示的數(shù)都是整數(shù)。n位數(shù)值部分所能表示的數(shù)N的范圍是2n-1N-(2n-1)符號(hào)位數(shù)值位小數(shù)點(diǎn)由于實(shí)際問題中很少有純粹的整數(shù)或者小數(shù),所以定點(diǎn)法要求程序員為了調(diào)整所要表示的數(shù)值范圍,而選擇比例因子。所有原始數(shù)據(jù)都要用比例因子化成小數(shù)或整數(shù),計(jì)算結(jié)果又要用比例因子恢復(fù)。對(duì)于復(fù)雜的計(jì)算,計(jì)算中間需要多次調(diào)整比例因子。浮點(diǎn)法任意一個(gè)二進(jìn)制數(shù)N總可以寫成下面的形式:N=d2p 其中:d稱為尾數(shù),是二進(jìn)制純小數(shù),指明數(shù)據(jù)的全部有效數(shù)字。前面的符號(hào)稱作數(shù)符,表示數(shù)的符號(hào)。P稱為階數(shù),它前面的符號(hào)稱為階符,由此可知,將尾數(shù)d的小數(shù)點(diǎn)向右(對(duì)+p)或向左(對(duì)-p)移動(dòng)p位,即

12、得數(shù)值N。所以階符和階碼指定小數(shù)點(diǎn)的位置,小數(shù)點(diǎn)隨著p的符號(hào)和大小而浮動(dòng),所以這種數(shù)稱為浮點(diǎn)數(shù)。如果尾數(shù)的絕對(duì)值小與1而且大于等于0.5,即采用原碼編碼的正數(shù)或者負(fù)數(shù)和采用補(bǔ)碼編碼的正數(shù),其尾數(shù)的最高位數(shù)字為1;采用補(bǔ)碼編碼的負(fù)數(shù),其尾數(shù)的最高位數(shù)字為0,則該浮點(diǎn)二進(jìn)制數(shù)被稱為規(guī)格化浮點(diǎn)數(shù)。數(shù)的加減運(yùn)算要求小數(shù)點(diǎn)對(duì)齊,對(duì)于浮點(diǎn)數(shù)而言,就是階碼(包括階符)相等,使階碼相等的操作稱為對(duì)階。階符階碼數(shù)符尾數(shù)1位m位1位n位浮點(diǎn)數(shù)運(yùn)算規(guī)則: 加減法:對(duì)階 尾數(shù)相加/減 規(guī)格化 判斷溢出(看階碼) 乘除法:尾數(shù)相乘/除 階碼相加/減 規(guī)格化 判斷溢出(看階碼) 返回本章首頁2.4二進(jìn)制編碼的十進(jìn)制數(shù)(B

13、CD碼)分離式BCD碼和組合式BCD碼 在組合式BCD碼格式中,兩位十進(jìn)制數(shù), 存放在一個(gè)字節(jié)中。 如數(shù) 82 存放格式為: 1000 0010 在分離式BCD碼格式中, 每位數(shù)存放在 8 位字節(jié)的低 4位部分,高 4 位部分的內(nèi)容與數(shù)值無關(guān),如數(shù) 82 存放格式為: uuuu1000 uuuu0010 其中u表示任意。 BCD碼的加減運(yùn)算(修正) 由于BCD編碼是將每個(gè)十進(jìn)制數(shù)用一組 4 位二進(jìn)制數(shù)來表示,因此,若將這種BCD碼直接交計(jì)算機(jī)去運(yùn)算,由于計(jì)算機(jī)總是把數(shù)當(dāng)作二進(jìn)制數(shù)來運(yùn)算,所以結(jié)果可能出錯(cuò)。 例 2.4.2 用BCD碼求 38+49。 0011 1000 38 的BCD碼 + 0

14、100 1001 49 的BCD碼 1000 0001 81 的BCD碼 解決的辦法是對(duì)二進(jìn)制加法運(yùn)算的結(jié)果采用“加 6 修正”,將二進(jìn)制加法運(yùn)算的結(jié)果修正為BCD碼加法運(yùn)算的結(jié)果。兩個(gè)兩位BCD數(shù)相加時(shí),對(duì)二進(jìn)制加法運(yùn)算結(jié)果修正的規(guī)則如下: (1) 如果任何兩個(gè)對(duì)應(yīng)位BCD數(shù)相加的結(jié)果向高一位無進(jìn)位時(shí),若得到的結(jié)果小于或等于 9,則該位不需修正;若得到的結(jié)果大小 9 且小于 16 位,則該位進(jìn)行加 6 修正。 (2) 如果任何兩個(gè)對(duì)應(yīng)位BCD數(shù)相加的結(jié)果向高一位有進(jìn)位時(shí)(即結(jié)果大于或等于 16),該位進(jìn)行加 6 修正。 (3) 低位修正結(jié)果使高位大于 9 時(shí), 高位進(jìn)行加 6 修正。 例2.4.3 用BCD碼求 35+21。 0011 1000 35 +0010 0001 21 0101 0110 56 例 2.4.4 用BCD碼求 25+37。 0010 0101 25 +0011 0111 37 0101 1100 低 4 位滿足法則 1 +0000 0110 加 6 修正 0110 0010 62 結(jié)果正確 例 2.4.5 用BCD碼求 38+49。 0011 1000 38 +0100 1001 49 1000 0001 低 4 位滿足法則 2 +0000 0110 加 6 修正 1000 0111 87結(jié)果正確 1 例 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論