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

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-171第2章 計(jì)算機(jī)中的數(shù)制和編碼 2.1 無(wú)符號(hào)數(shù)的表示及運(yùn)算無(wú)符號(hào)數(shù)的表示及運(yùn)算 2.2 帶符號(hào)數(shù)的表示及運(yùn)算帶符號(hào)數(shù)的表示及運(yùn)算 2.3 信息的編碼信息的編碼 2.4 數(shù)的定點(diǎn)與浮點(diǎn)表示法數(shù)的定點(diǎn)與浮點(diǎn)表示法 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1722.1 無(wú)符號(hào)數(shù)的表示及運(yùn)算 2.1.1 無(wú)符號(hào)數(shù)的表示方法無(wú)符號(hào)數(shù)的表示方法 1. 十進(jìn)制數(shù)的表示方法十進(jìn)制數(shù)的表示方法 十進(jìn)制計(jì)數(shù)法的特點(diǎn)是:十進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢十進(jìn)一;逢十進(jìn)一; 使用使用10個(gè)數(shù)字符號(hào)(個(gè)數(shù)字符號(hào)(0,1,2,9)的不同組合來(lái)表示一個(gè))的不同組合來(lái)表示一個(gè)十進(jìn)

2、制數(shù);十進(jìn)制數(shù); 以后綴以后綴D或或d表示十進(jìn)制數(shù)(表示十進(jìn)制數(shù)(Decimal),),但該后綴可以省但該后綴可以省略略。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-173任何一個(gè)十進(jìn)制數(shù)可表示為:任何一個(gè)十進(jìn)制數(shù)可表示為: 110nmiiiDDN式中:式中:m表示小數(shù)位的位數(shù),表示小數(shù)位的位數(shù),n表示整數(shù)位的位數(shù),表示整數(shù)位的位數(shù),Di為第為第i位位上的數(shù)符(可以是上的數(shù)符(可以是0 9十個(gè)數(shù)字符號(hào)中的任一個(gè))。十個(gè)數(shù)字符號(hào)中的任一個(gè))。 例例2.1 138.5(D)= 1012105108103101第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-174 2. 二進(jìn)制數(shù)的表示方法二進(jìn)制數(shù)的表

3、示方法 二進(jìn)制計(jì)數(shù)法的特點(diǎn)是:二進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢二進(jìn)一;逢二進(jìn)一; 使用使用2個(gè)數(shù)字符號(hào)(個(gè)數(shù)字符號(hào)(0,1)的不同組合來(lái)表示一個(gè)二進(jìn)制數(shù);)的不同組合來(lái)表示一個(gè)二進(jìn)制數(shù); 以后綴以后綴B或或b表示二進(jìn)制數(shù)(表示二進(jìn)制數(shù)(Binary)。)。 任何一個(gè)二進(jìn)制數(shù)可表示為:任何一個(gè)二進(jìn)制數(shù)可表示為: 12nmiiiBBN式中:式中:m為小數(shù)位的位數(shù),為小數(shù)位的位數(shù),n為整數(shù)位的位數(shù),為整數(shù)位的位數(shù),Bi為第為第i位上的數(shù)位上的數(shù)符(符(0或或1)。)。 例例2.2 1101.11B= )(75.13212121202121210123D第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-175 3

4、. 十六進(jìn)制數(shù)的表示法十六進(jìn)制數(shù)的表示法 十六進(jìn)制計(jì)數(shù)法的特點(diǎn)是:十六進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢十六進(jìn)一;逢十六進(jìn)一; 使用使用16個(gè)數(shù)字符號(hào)個(gè)數(shù)字符號(hào)(0,1,2,3,9,A,B,C,D,E,F)的不同組的不同組合來(lái)表示一個(gè)十六進(jìn)制數(shù),其中合來(lái)表示一個(gè)十六進(jìn)制數(shù),其中A F 依次表示依次表示10 15; 以后綴以后綴H或或h表示十六進(jìn)制數(shù)(表示十六進(jìn)制數(shù)(Hexadecimal)。)。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-176任何一個(gè)十六進(jìn)制數(shù)可表示為:任何一個(gè)十六進(jìn)制數(shù)可表示為: 116nmiiiHHN式中:式中:m為小數(shù)位的位數(shù),為小數(shù)位的位數(shù),n為整數(shù)位的位數(shù),為整數(shù)位的位數(shù),

5、Hi為第為第i位上的位上的數(shù)符(可以是數(shù)符(可以是0,1,,9,A,B,C,D,E,F十六個(gè)數(shù)字符號(hào)中的任一十六個(gè)數(shù)字符號(hào)中的任一個(gè))。個(gè))。 例例2.3 0E5AD.BFH =21012316151611161316101651614第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-177一般來(lái)說(shuō),對(duì)于基數(shù)為的任一數(shù)可用多項(xiàng)式表示為:一般來(lái)說(shuō),對(duì)于基數(shù)為的任一數(shù)可用多項(xiàng)式表示為: 1nmiiiXXkN(2.1.4) 式中:式中:X為基數(shù),表示為基數(shù),表示X進(jìn)制;進(jìn)制;i為位序號(hào);為位序號(hào);m為小數(shù)部分位數(shù);為小數(shù)部分位數(shù);n為整數(shù)部分的位數(shù);為整數(shù)部分的位數(shù);ki為第為第i位上的數(shù)值,可以為位上的

6、數(shù)值,可以為0,1,2,X-1共共X個(gè)數(shù)字符號(hào)中任一個(gè);個(gè)數(shù)字符號(hào)中任一個(gè);Xi為第為第i位的權(quán)。位的權(quán)。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1782.1.2 各種數(shù)制的相互轉(zhuǎn)換各種數(shù)制的相互轉(zhuǎn)換 1任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) 二進(jìn)制、十六進(jìn)制以至任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法二進(jìn)制、十六進(jìn)制以至任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法很簡(jiǎn)單,只要按式很簡(jiǎn)單,只要按式2.1.2,2.1.3和和2.1.4各位按權(quán)展開(即該位的各位按權(quán)展開(即該位的數(shù)值乘于該位的權(quán))求和即可。數(shù)值乘于該位的權(quán))求和即可。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-179 將整數(shù)部分不斷除以

7、將整數(shù)部分不斷除以2,記下每次得到的,記下每次得到的余數(shù),直到商為零;余數(shù),直到商為零;余數(shù)倒排,即最后得到的余數(shù)倒排,即最后得到的余數(shù)排在最高位,第一個(gè)余數(shù)排在最低位。例如余數(shù)排在最高位,第一個(gè)余數(shù)排在最低位。例如將十進(jìn)制數(shù)將十進(jìn)制數(shù)13轉(zhuǎn)換成二進(jìn)制數(shù):轉(zhuǎn)換成二進(jìn)制數(shù): 2 1 3 余數(shù)余數(shù) 2 6 1 2 3 0 2 1 1 0 1 13D=1101B 2. 十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù) 1)整數(shù)部分的轉(zhuǎn)換整數(shù)部分的轉(zhuǎn)換(除除2取余法取余法)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1710 小數(shù)部分轉(zhuǎn)換:乘小數(shù)部分轉(zhuǎn)換:乘2取整,順序排列得到的整數(shù)。取整,順序排列得到的

8、整數(shù)。例如將例如將0.8125轉(zhuǎn)換成二進(jìn)制數(shù):轉(zhuǎn)換成二進(jìn)制數(shù):0.8125整數(shù)整數(shù) 2 1 .6250 2 1 .25 2 0 .50 2 1 .00 0.8125D=0.1101B(有時(shí)會(huì)有轉(zhuǎn)換誤差(有時(shí)會(huì)有轉(zhuǎn)換誤差 ,如,如0.3D) 返回?cái)?shù)制轉(zhuǎn)換返回?cái)?shù)制轉(zhuǎn)換2) 小數(shù)部分的轉(zhuǎn)換小數(shù)部分的轉(zhuǎn)換(乘乘2取整法取整法)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1711 顯然,該方法也適用于將十進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)顯然,該方法也適用于將十進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)(基數(shù)為(基數(shù)為8)、十六進(jìn)制整數(shù)(基數(shù)為)、十六進(jìn)制整數(shù)(基數(shù)為16)以至其它任何進(jìn)制)以至其它任何進(jìn)制整數(shù)。整數(shù)。 第2章 計(jì)

9、算機(jī)中的數(shù)制和編碼 2022-3-1712 例例2.4 將將13.75轉(zhuǎn)換為二進(jìn)制數(shù)。轉(zhuǎn)換為二進(jìn)制數(shù)。 分別將整數(shù)和小數(shù)部分進(jìn)行轉(zhuǎn)換:分別將整數(shù)和小數(shù)部分進(jìn)行轉(zhuǎn)換: 整數(shù)部分:整數(shù)部分:13=1101B 小數(shù)部分:小數(shù)部分:0.75=0.11B 因此,因此,13.75=1101.11B 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1713例例2.5 將將28.75轉(zhuǎn)換為十六進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù) 整數(shù)部分:整數(shù)部分:28=1CH 小數(shù)部分:小數(shù)部分:0.7516=12.0,B-1=CH,小數(shù)部分已為,小數(shù)部分已為0,停止,停止計(jì)算。計(jì)算。 因此,因此,28.75=1C.CH 第2章 計(jì)算機(jī)中的

10、數(shù)制和編碼 2022-3-1714 3二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換 因?yàn)?4=16,即可用四位二進(jìn)制數(shù)表示一位十六進(jìn)制數(shù),所以可得到如下所述的二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換方法。 將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)的方法:以小數(shù)點(diǎn)為界,向左(整數(shù)部分)每四位為一組,高位不足4位時(shí)補(bǔ)0;向右(小數(shù)部分)每四位為一組,低位不足4位時(shí)補(bǔ)0。然后分別用一個(gè)16進(jìn)制數(shù)表示每一組中的4位二進(jìn)制數(shù)。 將十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法:將十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法:直接將每一位十六進(jìn)制數(shù)寫成其對(duì)應(yīng)的四位二進(jìn)制數(shù)。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1715例例2.6 1

11、101110.01011B=0110,1110.0101,1000B=6E.58H 2F.1BH=10 1111.0001 1011B 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1716課堂練習(xí)課堂練習(xí)1、將十進(jìn)制數(shù)、將十進(jìn)制數(shù)218.8125轉(zhuǎn)換為二進(jìn)制數(shù)和轉(zhuǎn)換為二進(jìn)制數(shù)和十六進(jìn)制數(shù)。十六進(jìn)制數(shù)。2、將二進(jìn)制數(shù)、將二進(jìn)制數(shù)10111100.111B轉(zhuǎn)換為十進(jìn)轉(zhuǎn)換為十進(jìn)制數(shù)和十六進(jìn)制數(shù)。制數(shù)和十六進(jìn)制數(shù)。11011010.1101 B DA.D H 188. 875 D BC.E H第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17172.1.3 二進(jìn)制數(shù)的運(yùn)算二進(jìn)制數(shù)的運(yùn)算 1. 二進(jìn)制數(shù)的

12、算術(shù)運(yùn)算二進(jìn)制數(shù)的算術(shù)運(yùn)算 (1) 加加: 0+0=0 0+1=1 1+0=1 1+1=0(進(jìn)(進(jìn)1) (2) 減減: 0-0=0 1-1=0 1-0=1 0-1=1(借位)(借位) (3) 乘乘: 0 0=0 0 1=0 1 0=0 1 1=1 (4) 除除: 二進(jìn)制除法是乘法的逆運(yùn)算。二進(jìn)制除法是乘法的逆運(yùn)算。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1718 例:完成下列數(shù)的加減運(yùn)算。例:完成下列數(shù)的加減運(yùn)算。 1、1101+1011 2、11101110-10111010 3、7A6C+56DF 11000 110100 D14B第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1719

13、 2. 二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算 (1) “與與“運(yùn)算(運(yùn)算(AND). “與與”運(yùn)算又稱邏輯乘,可運(yùn)算又稱邏輯乘,可用符號(hào)用符號(hào)“ ”或或“ ”表示。運(yùn)算規(guī)則如下:表示。運(yùn)算規(guī)則如下:0 0=0 0 1=0 1 0=0 1 1=1 可以看出,只有當(dāng)兩個(gè)變量均為可以看出,只有當(dāng)兩個(gè)變量均為“1”時(shí),時(shí),“與與”的結(jié)果才的結(jié)果才為為“1”。 (2) “或或”運(yùn)算(運(yùn)算(OR) “或或”運(yùn)算又稱邏輯加,可用符號(hào)運(yùn)算又稱邏輯加,可用符號(hào)“ ”或或“+”表示。運(yùn)算規(guī)表示。運(yùn)算規(guī)則如下:則如下:0 0=0 0 1=1 1 0=1 1 1=1 可以看出,兩個(gè)變量只要有一個(gè)為可以看出,兩個(gè)變量只

14、要有一個(gè)為“1”,“或或”的結(jié)果就的結(jié)果就為為“1”。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1720 (3) “非非”運(yùn)算(運(yùn)算(NOT) 變量的變量的“非非”運(yùn)算結(jié)果用表示。邏輯運(yùn)算結(jié)果用表示。邏輯“非非”運(yùn)算規(guī)則如下:運(yùn)算規(guī)則如下: (4) “異或異或”運(yùn)算(運(yùn)算(XOR) “異或異或”運(yùn)算可用符號(hào)運(yùn)算可用符號(hào)“”“”表示。運(yùn)算規(guī)則如下:表示。運(yùn)算規(guī)則如下: 可以看出,兩變量只要不同,可以看出,兩變量只要不同,“異或異或”運(yùn)算的結(jié)果就為運(yùn)算的結(jié)果就為“1”。 10 01 011101110000第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1721 (4) “異或異或”運(yùn)算(運(yùn)算(X

15、OR) “異或異或”運(yùn)算可用符號(hào)運(yùn)算可用符號(hào)“”“”表示。運(yùn)算規(guī)則如下:表示。運(yùn)算規(guī)則如下: 可以看出,兩變量只要不同,可以看出,兩變量只要不同,“異或異或”運(yùn)算的結(jié)果就為運(yùn)算的結(jié)果就為“1”。 011101110000第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1722例例 2.7 A=11110101B, B=00110000B,求 ?BABABABABBA00110000BBA11110101BBA11000101BA00001010BB11001111解解第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1723作作 業(yè)業(yè)課本課本P30:1.(4),2.(4),3.(2),4.(2),5(全

16、部全部)* 完成下列數(shù)的運(yùn)算。完成下列數(shù)的運(yùn)算。 (1)、)、 7A6C+D32A (2)、)、7A6C-56DF14D96 238D第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17242.2 帶符號(hào)數(shù)的表示及運(yùn)算帶符號(hào)數(shù)的表示及運(yùn)算 2.2.1 機(jī)器數(shù)與真值機(jī)器數(shù)與真值 在計(jì)算機(jī)中,為了區(qū)別正數(shù)和負(fù)數(shù),在計(jì)算機(jī)中,為了區(qū)別正數(shù)和負(fù)數(shù),通常用二進(jìn)制數(shù)的最通常用二進(jìn)制數(shù)的最高位表示數(shù)的符號(hào)。高位表示數(shù)的符號(hào)。對(duì)于一個(gè)字節(jié)型二進(jìn)制數(shù)來(lái)說(shuō),對(duì)于一個(gè)字節(jié)型二進(jìn)制數(shù)來(lái)說(shuō),D7位為符位為符號(hào)位,號(hào)位,D6 D0位為數(shù)值位。在符號(hào)位中,規(guī)定用位為數(shù)值位。在符號(hào)位中,規(guī)定用“0”表示正,表示正,“1”表示負(fù),

17、而數(shù)值位表示該數(shù)的數(shù)值大小。表示負(fù),而數(shù)值位表示該數(shù)的數(shù)值大小。 把一個(gè)數(shù)及其符號(hào)位在機(jī)器中的一組二進(jìn)制數(shù)表示形式,把一個(gè)數(shù)及其符號(hào)位在機(jī)器中的一組二進(jìn)制數(shù)表示形式,稱為稱為“機(jī)器數(shù)機(jī)器數(shù)”。 機(jī)器數(shù)所表示的值稱為該機(jī)器數(shù)的機(jī)器數(shù)所表示的值稱為該機(jī)器數(shù)的“真值真值”。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17251.原碼原碼 正數(shù)原碼:符號(hào)位為正數(shù)原碼:符號(hào)位為0,數(shù)值位照抄。,數(shù)值位照抄。 負(fù)數(shù)原碼:符號(hào)位為負(fù)數(shù)原碼:符號(hào)位為1,數(shù)值位照抄。,數(shù)值位照抄。例:(例:(1)、當(dāng)機(jī)器字長(zhǎng))、當(dāng)機(jī)器字長(zhǎng)n=8時(shí),時(shí), X=+25=+00011001B X原原=00011001BX= -25

18、= -00011001B X原原=10011001B (2)、)、 當(dāng)機(jī)器字長(zhǎng)當(dāng)機(jī)器字長(zhǎng)n=16時(shí),時(shí), X=+25=+0000000000011001B X原原=0000000000011001B X= -25= -0000000000011001B X原原=1000000000011001B2.2.2 機(jī)器數(shù)的表示方法(原碼、反碼、補(bǔ)碼)機(jī)器數(shù)的表示方法(原碼、反碼、補(bǔ)碼)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1726注:注: 1、原碼表示數(shù)的范圍是、原碼表示數(shù)的范圍是-(2n-1-1)+ (2n-1-1) 。8位二進(jìn)制位二進(jìn)制原碼表示數(shù)的范圍為原碼表示數(shù)的范圍為-127 +127,

19、16位二進(jìn)制原碼表示數(shù)的范位二進(jìn)制原碼表示數(shù)的范圍為圍為-32767 +32767。 2、“0”的原碼有兩種表示法:的原碼有兩種表示法: +0原原=00000000, -0原原=10000000。 原碼表示法簡(jiǎn)單直觀,且與真值的轉(zhuǎn)換很方便,但不便于在原碼表示法簡(jiǎn)單直觀,且與真值的轉(zhuǎn)換很方便,但不便于在計(jì)算機(jī)中進(jìn)行加減運(yùn)算。按這種運(yùn)算方法設(shè)計(jì)的算術(shù)運(yùn)算電計(jì)算機(jī)中進(jìn)行加減運(yùn)算。按這種運(yùn)算方法設(shè)計(jì)的算術(shù)運(yùn)算電路很復(fù)雜。路很復(fù)雜。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17272、反碼反碼 正數(shù)反碼:符號(hào)位為正數(shù)反碼:符號(hào)位為0,數(shù)值位照抄。,數(shù)值位照抄。 負(fù)數(shù)反碼:符號(hào)位為負(fù)數(shù)反碼:符號(hào)位為1,

20、數(shù)值位取反。,數(shù)值位取反。 例:例: (1)、當(dāng)機(jī)器字長(zhǎng))、當(dāng)機(jī)器字長(zhǎng)n=8時(shí),時(shí), X=+25=+00011001B X反反=00011001B X= -25= -00011001B X反反=11100110B (2)、當(dāng)機(jī)器字長(zhǎng))、當(dāng)機(jī)器字長(zhǎng)n=16時(shí),時(shí), X=+25=+0000000000011001B X反反=0000000000011001B X= -25= -0000000000011001B X反反=1111111111100110B第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1728 反碼表示數(shù)的范圍是反碼表示數(shù)的范圍是-(2n-1-1)+ (2n-1-1) 。8位二進(jìn)制反碼

21、位二進(jìn)制反碼表示數(shù)的范圍為表示數(shù)的范圍為-127 +127,16位二進(jìn)制反碼表示數(shù)的范位二進(jìn)制反碼表示數(shù)的范圍為圍為-32767 +32767; “0”的反碼有兩種表示法:的反碼有兩種表示法: +0反反=00000000, -0反反=11111111。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17293. 補(bǔ)碼補(bǔ)碼 為了將減法運(yùn)算變成加法來(lái)做,有符號(hào)數(shù)在計(jì)算為了將減法運(yùn)算變成加法來(lái)做,有符號(hào)數(shù)在計(jì)算機(jī)內(nèi)一律采用補(bǔ)碼表示。機(jī)內(nèi)一律采用補(bǔ)碼表示。 正數(shù)補(bǔ)碼:符號(hào)位為正數(shù)補(bǔ)碼:符號(hào)位為0,數(shù)值位照抄。,數(shù)值位照抄。 負(fù)數(shù)補(bǔ)碼:符號(hào)位為負(fù)數(shù)補(bǔ)碼:符號(hào)位為1,數(shù)值位取反加一。,數(shù)值位取反加一。 例:例

22、:X=+25=+00011001B X補(bǔ)補(bǔ)=00011001B X= -25= -00011001B X反反=11100110B X補(bǔ)補(bǔ)=11100111B 當(dāng)機(jī)器字長(zhǎng)當(dāng)機(jī)器字長(zhǎng)n=16時(shí)時(shí)(同上,略同上,略)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1730 可以看出,補(bǔ)碼表示數(shù)的范圍是可以看出,補(bǔ)碼表示數(shù)的范圍是-2n-1+ (2n-1-1) 。 8位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-128 +127,16位二進(jìn)制反碼表示數(shù)的范圍位二進(jìn)制反碼表示數(shù)的范圍為為-32768 +32767。 “0”的補(bǔ)碼只有的補(bǔ)碼只有一種一種表示法:表示法: +0補(bǔ)補(bǔ)= -0補(bǔ)補(bǔ)= 0000

23、0000。 -128補(bǔ)補(bǔ)=10000000 -0補(bǔ)補(bǔ)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17312.2.3 真值與機(jī)器數(shù)之間的轉(zhuǎn)換 一原碼轉(zhuǎn)換為真值 根據(jù)原碼定義,根據(jù)原碼定義,將原碼數(shù)值位各位按權(quán)展開求和,由符號(hào)將原碼數(shù)值位各位按權(quán)展開求和,由符號(hào)位決定數(shù)的正負(fù)即可由原碼求出真值。位決定數(shù)的正負(fù)即可由原碼求出真值。 例例2.8 已知已知x原原=00011111B,y原原=10011101B,求,求x和和y x=+(0 26+0 25+1 24+1 23+1 22+1 21+1 20)=31 y=-(0 26+0 25+1 24+1 23+1 22+0 21+1 20)=-29 第2章

24、 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1732 2. 反碼轉(zhuǎn)換為真值 要求反碼的真值,只要先求出反碼對(duì)應(yīng)的原碼,再按上述原要求反碼的真值,只要先求出反碼對(duì)應(yīng)的原碼,再按上述原碼轉(zhuǎn)換為真值的方法即可求出其真值。碼轉(zhuǎn)換為真值的方法即可求出其真值。 正數(shù)的原碼是反碼本身。正數(shù)的原碼是反碼本身。 負(fù)數(shù)的原碼可在反碼基礎(chǔ)上,符號(hào)位仍為負(fù)數(shù)的原碼可在反碼基礎(chǔ)上,符號(hào)位仍為1不變,數(shù)值位按不變,數(shù)值位按位取反。位取反。 例例2.9 已知已知x反反=00001111B,y反反=11100101B,求,求x和和y。 解解 x原原= x反反=00001111B x=+(0 26+0 25+0 24+1 23+1

25、22+1 21+1 20)=15 y原原=10011010B, y=-(0 26+0 25+1 24+1 23+0 22+1 21+0 20)= -26 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17333. 補(bǔ)碼轉(zhuǎn)換為真值同理,要求補(bǔ)碼的真值,也要先求出補(bǔ)碼對(duì)應(yīng)的原碼。同理,要求補(bǔ)碼的真值,也要先求出補(bǔ)碼對(duì)應(yīng)的原碼。正數(shù)的原碼與補(bǔ)碼相同。正數(shù)的原碼與補(bǔ)碼相同。負(fù)數(shù)的原碼可在補(bǔ)碼基礎(chǔ)上再次求補(bǔ),即:負(fù)數(shù)的原碼可在補(bǔ)碼基礎(chǔ)上再次求補(bǔ),即:補(bǔ)補(bǔ)原xx第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1734例例2.10 已知已知x補(bǔ)補(bǔ)=00001111B,y補(bǔ)補(bǔ)=11100101B,求,求x和和y解解

26、 x原原= x補(bǔ)補(bǔ)=00001111B, x=+(0 26+0 25+0 24+1 23+1 22+1 21+1 20)=15 y原原=y補(bǔ)補(bǔ)補(bǔ)補(bǔ)=10011011B, y=-(0 26+0 25+1 24+1 23+0 22+1 21+1 20)= -27 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1735 1)正數(shù)的原碼、反碼、補(bǔ)碼相同;負(fù)數(shù)的原碼、反碼、補(bǔ))正數(shù)的原碼、反碼、補(bǔ)碼相同;負(fù)數(shù)的原碼、反碼、補(bǔ)碼各不相同,但符號(hào)位都是碼各不相同,但符號(hào)位都是1。反之,若符號(hào)位是。反之,若符號(hào)位是1,則不管是原,則不管是原碼、反碼還是補(bǔ)碼,都代表負(fù)數(shù)。碼、反碼還是補(bǔ)碼,都代表負(fù)數(shù)。 2)設(shè)字長(zhǎng)

27、為八位,原碼、反碼的表數(shù)范圍為)設(shè)字長(zhǎng)為八位,原碼、反碼的表數(shù)范圍為-127+127,補(bǔ)碼的表數(shù)范圍為,補(bǔ)碼的表數(shù)范圍為-128+127。 3)已知某負(fù)數(shù)的補(bǔ)碼,求該負(fù)數(shù)的真值,方法如下:)已知某負(fù)數(shù)的補(bǔ)碼,求該負(fù)數(shù)的真值,方法如下:符號(hào)位不動(dòng),其余位求反加一,得到的是該負(fù)數(shù)的原碼;符號(hào)位不動(dòng),其余位求反加一,得到的是該負(fù)數(shù)的原碼;根據(jù)原碼即可寫出該負(fù)數(shù)的真值。根據(jù)原碼即可寫出該負(fù)數(shù)的真值。 例:例:X補(bǔ)補(bǔ)=11111100B X原原=10000011B+1=10000100B X= -0000100= - 4 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1736 二進(jìn)制數(shù)二進(jìn)制數(shù) 無(wú)符號(hào)十進(jìn)

28、制數(shù)無(wú)符號(hào)十進(jìn)制數(shù)帶帶 符符 號(hào)號(hào) 數(shù)數(shù)原碼原碼反碼反碼補(bǔ)碼補(bǔ)碼0000 00000000 00010000 00100111 11100111 11111000 00001000 0001 1111 11011111 11101111 1111012 126127128129 253254255+0+1+2 +126+127-0-1 -125-126-127+0+1+2 +126+127-127-126 -2-1-0+0+1+2 +126+127-128-127 -3-2-1表表2.1 8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3

29、-1737課堂練習(xí)課堂練習(xí) 1、若、若X補(bǔ)補(bǔ)=1000 0000,則,則X的真值是多少?的真值是多少?“-0”的補(bǔ)碼是的補(bǔ)碼是多少?多少? 2、設(shè)、設(shè)X=1011 1011,求,求X為為(1)無(wú)符號(hào)數(shù)、無(wú)符號(hào)數(shù)、(2)原碼、原碼、 (3)反碼、反碼、(4)補(bǔ)碼時(shí),分別表示的值(十進(jìn)制)是多少?補(bǔ)碼時(shí),分別表示的值(十進(jìn)制)是多少?答:答:-128 ,00000000答答:(1)、=127+ 026+125+124+123+022+121+120 = 187 (2)、=-(026+125+124+123+022+121+120) =-59 (3)、X原原=1100 0100 =-(126+122

30、)=-68 (4)、 X原原=X補(bǔ)補(bǔ)補(bǔ)補(bǔ)=1100 0101 =-(126+122+120)=-69注意:同一個(gè)二進(jìn)制數(shù),當(dāng)認(rèn)為它是不同形式的編碼時(shí),它所代注意:同一個(gè)二進(jìn)制數(shù),當(dāng)認(rèn)為它是不同形式的編碼時(shí),它所代 表的數(shù)值是不同的。表的數(shù)值是不同的。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1738 -128補(bǔ)=? -0補(bǔ)=?0) 12(|2120111xxxxxnnn原0) 12(|) 12(12011xxxxxnnn反02|212011xxxxxnnn補(bǔ)+0 原原=00000000,-0 原原10000000。 +0 反反=00000000,-0 反反=11111111。 0 補(bǔ)補(bǔ)=00

31、000000原碼定義:反碼定義:補(bǔ)碼定義:即即:規(guī)定規(guī)定:-128補(bǔ)補(bǔ)=10000000,-0補(bǔ)補(bǔ)=+0補(bǔ)補(bǔ)= 00000000返回返回第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17392.2.4 補(bǔ)碼的加減運(yùn)算補(bǔ)碼的加減運(yùn)算 1. 補(bǔ)碼加法補(bǔ)碼加法 在計(jì)算機(jī)中,凡是帶符號(hào)數(shù)一律用補(bǔ)碼表示,運(yùn)算結(jié)果自在計(jì)算機(jī)中,凡是帶符號(hào)數(shù)一律用補(bǔ)碼表示,運(yùn)算結(jié)果自然也是補(bǔ)碼。其運(yùn)算特點(diǎn)是:然也是補(bǔ)碼。其運(yùn)算特點(diǎn)是:符號(hào)位和數(shù)值位一起參加運(yùn)算,符號(hào)位和數(shù)值位一起參加運(yùn)算,并且自動(dòng)獲得結(jié)果(包括符號(hào)位與數(shù)值位)。并且自動(dòng)獲得結(jié)果(包括符號(hào)位與數(shù)值位)。 補(bǔ)碼加法的運(yùn)算規(guī)則為:補(bǔ)碼加法的運(yùn)算規(guī)則為:即:即:兩數(shù)

32、補(bǔ)碼的和等于兩數(shù)和的補(bǔ)碼兩數(shù)補(bǔ)碼的和等于兩數(shù)和的補(bǔ)碼。 補(bǔ)補(bǔ)補(bǔ)yxyx(2.2.5) 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1740 例例2.11 已知 +51補(bǔ)=0011 0011B,+66補(bǔ)=0100 0010B, -51補(bǔ)=1100 1101B, -66補(bǔ)=1011 1110B 求求 +66補(bǔ)+51補(bǔ)=?+66補(bǔ)+-51補(bǔ)=?-66補(bǔ)+-51補(bǔ)=? 解 二進(jìn)制二進(jìn)制( (補(bǔ)碼補(bǔ)碼) )加法加法 十進(jìn)制加法十進(jìn)制加法0100 0010 + 66補(bǔ)補(bǔ) + 66+)0011 0011 + 51補(bǔ)補(bǔ) +) + 510111 0101 +117補(bǔ)補(bǔ) +117 即:將兩個(gè)加數(shù)(正數(shù))都化為補(bǔ)碼

33、進(jìn)行加法運(yùn)算,所得到的補(bǔ)碼再化即:將兩個(gè)加數(shù)(正數(shù))都化為補(bǔ)碼進(jìn)行加法運(yùn)算,所得到的補(bǔ)碼再化為真值,運(yùn)算的結(jié)果是正確的。為真值,運(yùn)算的結(jié)果是正確的。運(yùn)算規(guī)則驗(yàn)證第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1741 二進(jìn)制二進(jìn)制( (補(bǔ)碼補(bǔ)碼) )加法加法 十進(jìn)制加法十進(jìn)制加法 0100 0010 + 66補(bǔ)補(bǔ) +66+) 1100 1101 51補(bǔ)補(bǔ) +) 51 0000 1111 +15補(bǔ)補(bǔ) +151自動(dòng)丟失自動(dòng)丟失 即:將一正一負(fù)的兩個(gè)加數(shù)都化為補(bǔ)碼進(jìn)行加法運(yùn)算,即:將一正一負(fù)的兩個(gè)加數(shù)都化為補(bǔ)碼進(jìn)行加法運(yùn)算,所得到的補(bǔ)碼再化為真值,運(yùn)算的結(jié)果同樣是正確的。所得到的補(bǔ)碼再化為真值,運(yùn)算的結(jié)

34、果同樣是正確的。運(yùn)算規(guī)則驗(yàn)證第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1742 二進(jìn)制二進(jìn)制( (補(bǔ)碼補(bǔ)碼) )加法加法 十進(jìn)制加法十進(jìn)制加法 1011 1110 - 66補(bǔ)補(bǔ) -66+) 1100 1101 51補(bǔ)補(bǔ) +) 51 1000 1011 -117補(bǔ)補(bǔ) -1171自動(dòng)丟失自動(dòng)丟失即:將兩個(gè)均為負(fù)的加數(shù)都化為補(bǔ)碼進(jìn)行加法運(yùn)算,所得即:將兩個(gè)均為負(fù)的加數(shù)都化為補(bǔ)碼進(jìn)行加法運(yùn)算,所得到的補(bǔ)碼再化為真值,運(yùn)算的結(jié)果同樣是正確的。到的補(bǔ)碼再化為真值,運(yùn)算的結(jié)果同樣是正確的??梢钥闯?,不論被加數(shù)、加數(shù)是正數(shù)還是負(fù)數(shù),只要直接用它可以看出,不論被加數(shù)、加數(shù)是正數(shù)還是負(fù)數(shù),只要直接用它們的補(bǔ)碼直

35、接相加,當(dāng)結(jié)果不超出補(bǔ)碼所表示的范圍時(shí),計(jì)算結(jié)們的補(bǔ)碼直接相加,當(dāng)結(jié)果不超出補(bǔ)碼所表示的范圍時(shí),計(jì)算結(jié)果便是正確的補(bǔ)碼形式。但當(dāng)計(jì)算結(jié)果超出補(bǔ)碼表示范圍時(shí),結(jié)果便是正確的補(bǔ)碼形式。但當(dāng)計(jì)算結(jié)果超出補(bǔ)碼表示范圍時(shí),結(jié)果就不正確了,這種情況稱為果就不正確了,這種情況稱為溢出溢出。 運(yùn)算規(guī)則驗(yàn)證第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1743 2. 補(bǔ)碼減法補(bǔ)碼減法補(bǔ)碼減法的運(yùn)算規(guī)則為:補(bǔ)碼減法的運(yùn)算規(guī)則為: 補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)yxyxyx(2.2.6) 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1744 例例2.12 已知已知+51補(bǔ)補(bǔ)=0011 0011B,+66補(bǔ)補(bǔ)=0100 0010B51補(bǔ)補(bǔ)

36、=1100 1101B,66補(bǔ)補(bǔ)=1011 1110B求求 +66補(bǔ)補(bǔ)+51補(bǔ)補(bǔ)=?66補(bǔ)補(bǔ) 51補(bǔ)補(bǔ)=? 解解 +66補(bǔ)補(bǔ) +51補(bǔ)補(bǔ)=+66補(bǔ)補(bǔ)+51補(bǔ)補(bǔ) 66補(bǔ)補(bǔ) 51補(bǔ)補(bǔ)=66補(bǔ)補(bǔ)+51補(bǔ)補(bǔ) 運(yùn)算規(guī)則驗(yàn)證第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1745 二進(jìn)制二進(jìn)制( (補(bǔ)碼補(bǔ)碼) )加法加法 十進(jìn)制加法十進(jìn)制加法 0100 0010 + 66補(bǔ)補(bǔ) +66+) 1100 1101 51補(bǔ)補(bǔ) -) +51 0000 1111 +15補(bǔ)補(bǔ) +151自動(dòng)丟失自動(dòng)丟失 二進(jìn)制二進(jìn)制( (補(bǔ)碼補(bǔ)碼) )加法加法 十進(jìn)制加法十進(jìn)制加法 1011 1110 - 66補(bǔ)補(bǔ) -66+) 0011 0

37、011 +51補(bǔ)補(bǔ) -) -51 1111 0001 -15補(bǔ)補(bǔ) -15 可以看出,無(wú)論被減數(shù)、減數(shù)是正數(shù)還是負(fù)數(shù),上述補(bǔ)碼可以看出,無(wú)論被減數(shù)、減數(shù)是正數(shù)還是負(fù)數(shù),上述補(bǔ)碼減法的規(guī)則都是正確的。減法的規(guī)則都是正確的。運(yùn)算規(guī)則驗(yàn)證第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1746計(jì)算機(jī)中帶符號(hào)數(shù)用補(bǔ)碼表示時(shí)有如下優(yōu)點(diǎn): 利用補(bǔ)碼的方法,可以將減法運(yùn)算變?yōu)榧臃ㄟ\(yùn)算,因此加法和減法運(yùn)算可使用同一個(gè)運(yùn)算器(加法器)來(lái)實(shí)現(xiàn);無(wú)符號(hào)數(shù)和有符號(hào)數(shù)的運(yùn)算也可使用同一套電路來(lái)實(shí)現(xiàn)。簡(jiǎn)化了電路。 事實(shí)上,乘法運(yùn)算可以用”加法+右移”來(lái)實(shí)現(xiàn),除法運(yùn)算是乘法運(yùn)算的逆運(yùn)算,可以用”減法(加法)+左移”來(lái)實(shí)現(xiàn),也就是

38、說(shuō)乘法和除法運(yùn)算均可用加法器和移位寄存器來(lái)實(shí)現(xiàn)。解釋 即:算術(shù)運(yùn)算可用加法器和移位寄存器來(lái)實(shí)現(xiàn)。 所以說(shuō),“運(yùn)算器”的核心部分是由具有某些邏輯運(yùn)算功能的加法器和移位寄存器組成。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1747乘法可采用乘法可采用移位移位(右移右移)和和加法加法來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn),部分積右移的方法示例部分積右移的方法示例: 1111(R2R3)1101(R6R7)0 0 0 0(部分積,R4R5)1 1 1 11 1 1 10 1 1 1 1(右移1位)0 0 0 00 1 1 1 10 0 1 1 1 1 (右移1位)1 1 1 10 0 1 0 1 11 0 0 1 0 1 1

39、 (右移1位)1 1 1 11 0 0 0 0 1 11 1 0 0 0 0 1 1 (右移1位)+1+111111101 1111 0000 1111111111000011第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1748除法運(yùn)算示例除法運(yùn)算示例例:100011101=111(余0)1 0 0 0 1 11 0 10 0 0 1 1 11 0 10 1 1 11 0 10 1 0 11 0 101 0 0 0 1 11 0 1-0 1 1 1 11 1 1 1 0(左移1位)1 0 1-0 1 0 1 01 0 1 0 0 (左移1位)1 0 1-0 0 0 0 0商為”1”商為”1”商

40、為”1”除法是乘法的逆運(yùn)算除法是乘法的逆運(yùn)算, 用移位用移位(左移左移)、 相減的方法來(lái)完成。相減的方法來(lái)完成。返回返回第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17492.2.5 溢出及其判斷方法溢出及其判斷方法 1. 進(jìn)位與溢出進(jìn)位與溢出 進(jìn)位進(jìn)位:指運(yùn)算結(jié)果的最高位向更高位的進(jìn)位。用來(lái)判斷:指運(yùn)算結(jié)果的最高位向更高位的進(jìn)位。用來(lái)判斷無(wú)無(wú)符號(hào)數(shù)符號(hào)數(shù)運(yùn)算結(jié)果是否超出了計(jì)算機(jī)所能表示的最大無(wú)符號(hào)數(shù)的運(yùn)算結(jié)果是否超出了計(jì)算機(jī)所能表示的最大無(wú)符號(hào)數(shù)的范圍。范圍。 溢出:溢出:指指帶符號(hào)數(shù)帶符號(hào)數(shù)的的補(bǔ)碼補(bǔ)碼運(yùn)算溢出。用來(lái)判斷帶符號(hào)數(shù)補(bǔ)運(yùn)算溢出。用來(lái)判斷帶符號(hào)數(shù)補(bǔ)碼運(yùn)算結(jié)果是否超出了補(bǔ)碼所能表示

41、的范圍。例如,字長(zhǎng)為碼運(yùn)算結(jié)果是否超出了補(bǔ)碼所能表示的范圍。例如,字長(zhǎng)為n位位的帶符號(hào)數(shù),它能表示的補(bǔ)碼范圍為的帶符號(hào)數(shù),它能表示的補(bǔ)碼范圍為2n1 +2n11,如果運(yùn)算,如果運(yùn)算結(jié)果超出此范圍,就叫補(bǔ)碼溢出,簡(jiǎn)稱溢出。結(jié)果超出此范圍,就叫補(bǔ)碼溢出,簡(jiǎn)稱溢出。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1750 若若符號(hào)位符號(hào)位進(jìn)位狀態(tài)用進(jìn)位狀態(tài)用CF來(lái)表示,當(dāng)符號(hào)位向前有進(jìn)位時(shí),來(lái)表示,當(dāng)符號(hào)位向前有進(jìn)位時(shí),CF=1,否則,否則,CF=0; 數(shù)值部分?jǐn)?shù)值部分最高位的進(jìn)位狀態(tài)用最高位的進(jìn)位狀態(tài)用DF來(lái)表示,當(dāng)該位向前有來(lái)表示,當(dāng)該位向前有進(jìn)位時(shí),進(jìn)位時(shí),DF=1,否則,否則,DF=0。單符號(hào)

42、位法就是通過(guò)該兩位進(jìn)。單符號(hào)位法就是通過(guò)該兩位進(jìn)位狀態(tài)的異或結(jié)果來(lái)判斷是否溢出的。位狀態(tài)的異或結(jié)果來(lái)判斷是否溢出的。 (2.2.7) 若若OF=1,說(shuō)明結(jié)果溢出;若,說(shuō)明結(jié)果溢出;若OF=0,則結(jié)果未溢出,則結(jié)果未溢出。也就。也就是說(shuō),當(dāng)符號(hào)位和數(shù)值部分最高位同時(shí)有進(jìn)位或同時(shí)沒有進(jìn)位是說(shuō),當(dāng)符號(hào)位和數(shù)值部分最高位同時(shí)有進(jìn)位或同時(shí)沒有進(jìn)位時(shí),結(jié)果沒有溢出,否則,結(jié)果溢出。時(shí),結(jié)果沒有溢出,否則,結(jié)果溢出。 DFCFOF2. 溢出的判斷方法溢出的判斷方法第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1751 無(wú)符號(hào)數(shù)無(wú)符號(hào)數(shù) 帶符號(hào)數(shù)帶符號(hào)數(shù) 01000100 68 +68補(bǔ)補(bǔ)+)01001000

43、+)72 +) +72補(bǔ)補(bǔ) 10001100 140 +140補(bǔ)補(bǔ)DF=1CF=0 例例2.13 設(shè)有兩個(gè)操作數(shù)設(shè)有兩個(gè)操作數(shù)x=01000100B,y=01001000B,將,將這兩個(gè)操作數(shù)送運(yùn)算器做加法運(yùn)算,試問(wèn):這兩個(gè)操作數(shù)送運(yùn)算器做加法運(yùn)算,試問(wèn): 若為無(wú)符號(hào)數(shù),若為無(wú)符號(hào)數(shù),計(jì)算結(jié)果是否正確?計(jì)算結(jié)果是否正確? 若為帶符號(hào)補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出?若為帶符號(hào)補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出? 解解 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1752 例例2.14 設(shè)有兩個(gè)操作數(shù)設(shè)有兩個(gè)操作數(shù)x=11101110B,y=11001000B,將這,將這兩個(gè)操作數(shù)送運(yùn)算器做加法運(yùn)算,試問(wèn):兩個(gè)操

44、作數(shù)送運(yùn)算器做加法運(yùn)算,試問(wèn): 若為無(wú)符號(hào)數(shù),計(jì)若為無(wú)符號(hào)數(shù),計(jì)算結(jié)果是否正確?算結(jié)果是否正確? 若為帶符號(hào)補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出?若為帶符號(hào)補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出? 解解 無(wú)符號(hào)數(shù)無(wú)符號(hào)數(shù) 帶符號(hào)數(shù)帶符號(hào)數(shù) 11101110 238 -18補(bǔ)補(bǔ)+)11001000 +)200 +) 56補(bǔ)補(bǔ) 10110110 438 -74補(bǔ)補(bǔ)DF=1CF=11自動(dòng)丟失自動(dòng)丟失 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1753課堂練習(xí)課堂練習(xí)字長(zhǎng)字長(zhǎng)n為為8位和位和16位時(shí),位時(shí),X=-33對(duì)應(yīng)的二進(jìn)制補(bǔ)碼為多少?對(duì)應(yīng)的二進(jìn)制補(bǔ)碼為多少?字長(zhǎng)為字長(zhǎng)為8位,求下面各式進(jìn)行二進(jìn)制補(bǔ)碼的運(yùn)算,并判斷位,求

45、下面各式進(jìn)行二進(jìn)制補(bǔ)碼的運(yùn)算,并判斷 結(jié)果是否溢出?結(jié)果是否溢出?-52+7 60+90X補(bǔ)補(bǔ)=1000 0000 0000 000所對(duì)應(yīng)的二進(jìn)制真值是多少?所對(duì)應(yīng)的二進(jìn)制真值是多少?Z補(bǔ)補(bǔ)=1111 1110 1010 0101所對(duì)應(yīng)的二進(jìn)制真值是多少?所對(duì)應(yīng)的二進(jìn)制真值是多少?n=8,-33補(bǔ)補(bǔ)=1101 1111B,n=16, -33補(bǔ)補(bǔ)=1111 1111 1101 1111 無(wú)溢出無(wú)溢出 有溢出有溢出 X的真值的真值= -32768 Z的真值的真值=-347第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1754作業(yè) (P31) 6-(5) 8-(1)、()、(7) 9 12-(1) 補(bǔ)

46、充題補(bǔ)充題:為什說(shuō),為什說(shuō),“運(yùn)算器運(yùn)算器”的核心部分的核心部分是由具有某些邏輯運(yùn)算功能的加法器和是由具有某些邏輯運(yùn)算功能的加法器和移位寄存器組成移位寄存器組成?第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17552.3 信信 息息 的的 編編 碼碼 如上所述,在計(jì)算機(jī)中,如上所述,在計(jì)算機(jī)中,數(shù)數(shù)是用是用二進(jìn)制二進(jìn)制表示的。數(shù)分表示的。數(shù)分無(wú)符號(hào)數(shù)和有符無(wú)符號(hào)數(shù)和有符號(hào)數(shù)兩種號(hào)數(shù)兩種:1、無(wú)符號(hào)數(shù)。在某些情況下,要處理的數(shù)全是正數(shù),此時(shí)再保留符號(hào)位就、無(wú)符號(hào)數(shù)。在某些情況下,要處理的數(shù)全是正數(shù),此時(shí)再保留符號(hào)位就沒有意義了,這時(shí)人們可以把最高有效位也作數(shù)值處理,這樣的數(shù)稱為無(wú)沒有意義了,這時(shí)

47、人們可以把最高有效位也作數(shù)值處理,這樣的數(shù)稱為無(wú)符號(hào)數(shù)。常用的無(wú)符號(hào)整數(shù)是表示符號(hào)數(shù)。常用的無(wú)符號(hào)整數(shù)是表示地址的數(shù)地址的數(shù),此外,如雙精度數(shù)的低位字,此外,如雙精度數(shù)的低位字也是無(wú)符號(hào)整數(shù)。也是無(wú)符號(hào)整數(shù)。2、有符號(hào)數(shù)。、有符號(hào)數(shù)。 而計(jì)算機(jī)進(jìn)行人機(jī)交換時(shí)用到的信息如數(shù)字、字母、符號(hào)等而計(jì)算機(jī)進(jìn)行人機(jī)交換時(shí)用到的信息如數(shù)字、字母、符號(hào)等都要以特定的二進(jìn)制編碼來(lái)表示,這就是都要以特定的二進(jìn)制編碼來(lái)表示,這就是信息的編碼信息的編碼。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-17562.3.1 二進(jìn)制編碼的十進(jìn)制數(shù)二進(jìn)制編碼的十進(jìn)制數(shù)(BCD編碼編碼) 雖然二進(jìn)制數(shù)對(duì)計(jì)算機(jī)來(lái)說(shuō)是最佳的數(shù)制,但是

48、不直觀,人們計(jì)算機(jī)的雖然二進(jìn)制數(shù)對(duì)計(jì)算機(jī)來(lái)說(shuō)是最佳的數(shù)制,但是不直觀,人們計(jì)算機(jī)的輸入輸出時(shí),通常還是用十進(jìn)制表示。人們提出了一個(gè)比較適合于十進(jìn)制系輸入輸出時(shí),通常還是用十進(jìn)制表示。人們提出了一個(gè)比較適合于十進(jìn)制系統(tǒng)的二進(jìn)制編碼的特殊形式,即將統(tǒng)的二進(jìn)制編碼的特殊形式,即將1位十進(jìn)制的位十進(jìn)制的0 9這這10個(gè)數(shù)字分別用個(gè)數(shù)字分別用4位二位二進(jìn)制碼的組合來(lái)表示,在此基礎(chǔ)上可按位對(duì)任意十進(jìn)制數(shù)進(jìn)行編碼。這就是進(jìn)制碼的組合來(lái)表示,在此基礎(chǔ)上可按位對(duì)任意十進(jìn)制數(shù)進(jìn)行編碼。這就是二進(jìn)制編碼的十進(jìn)制數(shù),簡(jiǎn)稱二進(jìn)制編碼的十進(jìn)制數(shù),簡(jiǎn)稱BCD碼碼(Binary-Coded Decimal)。 但為了便于記憶

49、,最常用的是但為了便于記憶,最常用的是8421 BCD碼碼,這種編碼從,這種編碼從0000 1111這這16種組合中選擇前種組合中選擇前10個(gè)即個(gè)即0000 1001來(lái)分別代表十進(jìn)制數(shù)碼來(lái)分別代表十進(jìn)制數(shù)碼0 9,8、4、2、1分分別是這種編碼從高位到低位每位的權(quán)值。別是這種編碼從高位到低位每位的權(quán)值。 它是它是“逢十進(jìn)一逢十進(jìn)一”的,是十進(jìn)制數(shù)的,是十進(jìn)制數(shù),但它的每一位用四位二進(jìn)制編碼來(lái)表示。但它的每一位用四位二進(jìn)制編碼來(lái)表示。 BCD碼有兩種形式,即壓縮型碼有兩種形式,即壓縮型BCD碼和非壓縮型碼和非壓縮型BCD碼。碼。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1757 1壓縮型壓縮

50、型BCD碼碼 壓縮型壓縮型BCD碼用一個(gè)字節(jié)表示碼用一個(gè)字節(jié)表示兩位兩位十進(jìn)制數(shù)。例如,十進(jìn)制數(shù)。例如,10000110B表示十進(jìn)制數(shù)表示十進(jìn)制數(shù)86。 2非壓縮型非壓縮型BCD碼碼 非壓縮型非壓縮型BCD碼用一個(gè)字節(jié)表示碼用一個(gè)字節(jié)表示一位一位十進(jìn)制數(shù)。高十進(jìn)制數(shù)。高4位總是位總是0000,低,低4位用位用0000 1001中的一種組合來(lái)表示中的一種組合來(lái)表示0 9中的某一個(gè)十中的某一個(gè)十進(jìn)制數(shù)。進(jìn)制數(shù)。 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1758表表2.2 8421 BCD 碼部分編碼表碼部分編碼表 十進(jìn)制數(shù)十進(jìn)制數(shù)壓縮型壓縮型BCD碼碼非壓縮型非壓縮型BCD碼碼12391011

51、192021000000010000001000000011000010010001000000010001000110010010000000100001000000010000001000000011 0000100100000001 0000000000000001 00000001 00000001 0000100100000010 0000000000000010 00000001第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1759注:注:1、BCD碼可簡(jiǎn)化人機(jī)聯(lián)系。碼可簡(jiǎn)化人機(jī)聯(lián)系。 2、編碼效率低。如十進(jìn)制數(shù)、編碼效率低。如十進(jìn)制數(shù)“7”用純二進(jìn)制碼表示為用純二進(jìn)制碼表示為“11

52、1”,而用,而用BCD碼表示則為碼表示則為“00000111”。 3、由于、由于BCD碼是碼是“逢十進(jìn)一逢十進(jìn)一”的,是十進(jìn)制數(shù),而計(jì)算機(jī)的,是十進(jìn)制數(shù),而計(jì)算機(jī)總是將它當(dāng)作二進(jìn)制數(shù)計(jì)算,每總是將它當(dāng)作二進(jìn)制數(shù)計(jì)算,每4位為一組,是位為一組,是“逢十六進(jìn)一逢十六進(jìn)一”的,運(yùn)算結(jié)果不正確,要對(duì)它時(shí)行修正。的,運(yùn)算結(jié)果不正確,要對(duì)它時(shí)行修正。 4、注意一個(gè)數(shù)的二進(jìn)制和該數(shù)的、注意一個(gè)數(shù)的二進(jìn)制和該數(shù)的BCD碼是不一樣的。如:碼是不一樣的。如:12D=00001100B=CH,12D=00010010(BCD)第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1760例例2.15 十進(jìn)制數(shù)與十進(jìn)制數(shù)與BC

53、D數(shù)相互轉(zhuǎn)換。數(shù)相互轉(zhuǎn)換。 將十進(jìn)制數(shù)將十進(jìn)制數(shù)69.81轉(zhuǎn)換為壓縮型轉(zhuǎn)換為壓縮型BCD數(shù):數(shù): 69.81=(0110 1001.1000 0001)BCD 將將BCD數(shù)數(shù)1000 1001.0110 1001轉(zhuǎn)換為十進(jìn)制數(shù):轉(zhuǎn)換為十進(jìn)制數(shù): (1000 1001.0110 1001)BCD=89.69 第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1761 例例2.17 (BCD碼運(yùn)算時(shí)的修正問(wèn)題碼運(yùn)算時(shí)的修正問(wèn)題)用用BCD碼求碼求38+49。 解解 0011 1000 38的的BCD碼碼+) 0100 1001 49的的BCD碼碼 1000 0001 81的的BCD碼碼 計(jì)算結(jié)果計(jì)算結(jié)果

54、1000 0001是是81的的BCD數(shù),而正確結(jié)果應(yīng)為數(shù),而正確結(jié)果應(yīng)為87的的BCD數(shù)數(shù)1000 0111,因此結(jié)果是錯(cuò)誤的。其原因是,十進(jìn)制數(shù)相加,因此結(jié)果是錯(cuò)誤的。其原因是,十進(jìn)制數(shù)相加應(yīng)該是應(yīng)該是“逢十進(jìn)一逢十進(jìn)一”,而計(jì)算機(jī)按二進(jìn)制數(shù)運(yùn)算,每,而計(jì)算機(jī)按二進(jìn)制數(shù)運(yùn)算,每4位為一組,位為一組,低低4位向高位向高4位進(jìn)位與十六進(jìn)制數(shù)低位向高位進(jìn)位的情況相當(dāng),是位進(jìn)位與十六進(jìn)制數(shù)低位向高位進(jìn)位的情況相當(dāng),是“逢十六進(jìn)一逢十六進(jìn)一”,所以當(dāng)相加結(jié)果超過(guò),所以當(dāng)相加結(jié)果超過(guò)9時(shí)將比正確結(jié)果少時(shí)將比正確結(jié)果少6,因,因此結(jié)果出錯(cuò)。解決辦法是對(duì)二進(jìn)制加法運(yùn)算結(jié)果采用此結(jié)果出錯(cuò)。解決辦法是對(duì)二進(jìn)制加

55、法運(yùn)算結(jié)果采用“加加6修修正正”,從而將二進(jìn)制加法運(yùn)算的結(jié)果修正為,從而將二進(jìn)制加法運(yùn)算的結(jié)果修正為BCD碼加法運(yùn)算結(jié)果。碼加法運(yùn)算結(jié)果。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1762 BCD數(shù)相加時(shí),對(duì)二進(jìn)制加法運(yùn)算結(jié)果修正的規(guī)則如下數(shù)相加時(shí),對(duì)二進(jìn)制加法運(yùn)算結(jié)果修正的規(guī)則如下: 如果兩個(gè)對(duì)應(yīng)位(如果兩個(gè)對(duì)應(yīng)位(低低4位或高位或高4位二進(jìn)制位二進(jìn)制)BCD數(shù)相加的數(shù)相加的結(jié)果向高位無(wú)進(jìn)位,結(jié)果向高位無(wú)進(jìn)位,且且結(jié)果小于或等于結(jié)果小于或等于9,則該位不需要修正;,則該位不需要修正;若得到的結(jié)果大于若得到的結(jié)果大于9而小于而小于16,則該位需要加,則該位需要加6修正。修正。 如果兩個(gè)對(duì)應(yīng)位

56、(如果兩個(gè)對(duì)應(yīng)位(低低4位或高位或高4位二進(jìn)制位二進(jìn)制) BCD數(shù)相加數(shù)相加的結(jié)果向高位有進(jìn)位的結(jié)果向高位有進(jìn)位(結(jié)果大于或等于結(jié)果大于或等于16),則該位需要進(jìn)行加,則該位需要進(jìn)行加6修正。修正。 因此,兩個(gè)因此,兩個(gè)BCD數(shù)進(jìn)行運(yùn)算時(shí),首先按二進(jìn)制數(shù)進(jìn)行運(yùn)算,數(shù)進(jìn)行運(yùn)算時(shí),首先按二進(jìn)制數(shù)進(jìn)行運(yùn)算,然后必須用相應(yīng)的然后必須用相應(yīng)的調(diào)整指令調(diào)整指令進(jìn)行調(diào)整,從而得到正確的進(jìn)行調(diào)整,從而得到正確的BCD碼碼結(jié)果。結(jié)果。第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-176334+23570011 0100 34的的BCD碼碼 + 0010 0011 23的的BCD碼碼 0101 0111 57的的B

57、CD碼碼結(jié)果正確,不需要調(diào)整。結(jié)果正確,不需要調(diào)整。例例1:第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1764482977 0100 1000 48的的BCD碼碼 + 0010 1001 29的的BCD碼碼 0111 0001 71的的BCD碼碼 0100 1000 + 0010 1001 0111 0001 中間結(jié)果中間結(jié)果 AF1 + 0000 0110 加加06H調(diào)整調(diào)整 0111 0111 正確結(jié)果,正確結(jié)果,77的的BCD碼碼 加法運(yùn)算后,低加法運(yùn)算后,低4位若向高位若向高4位有進(jìn)位位有進(jìn)位(即即AF=1),調(diào)整指令應(yīng),調(diào)整指令應(yīng)做加做加06H處理。處理。例例2:第2章 計(jì)算機(jī)中的

58、數(shù)制和編碼 2022-3-1765 例例2.16 設(shè)有變量設(shè)有變量x等于等于10010110B,當(dāng)該變量分別為無(wú)符號(hào)數(shù)、,當(dāng)該變量分別為無(wú)符號(hào)數(shù)、原碼、補(bǔ)碼、壓縮型原碼、補(bǔ)碼、壓縮型BCD碼時(shí),試分別計(jì)算變量碼時(shí),試分別計(jì)算變量x所代表的數(shù)值所代表的數(shù)值大小。大小。解解 無(wú)符號(hào)數(shù):無(wú)符號(hào)數(shù):x=10010110B=1 27+0 26+0 25+1 24+0 23+1 22+1 21+0 20=150原碼:原碼:x原原=10010110B x= 0 26+0 25+1 24+0 23+1 22+1 21+0 20= 22補(bǔ)碼:補(bǔ)碼:x補(bǔ)補(bǔ)=10010110B x原原=x補(bǔ)補(bǔ)補(bǔ)補(bǔ)=11101010

59、B x= 1 26+1 25+0 24+1 23+0 22+1 21+0 20= 106 BCD碼:碼:xBCD=10010110B x=96第2章 計(jì)算機(jī)中的數(shù)制和編碼 2022-3-1766注注 意意 送給計(jì)算機(jī)處理的二進(jìn)制形式的操作數(shù)送給計(jì)算機(jī)處理的二進(jìn)制形式的操作數(shù)(機(jī)器數(shù)機(jī)器數(shù)),到底是無(wú)符號(hào)數(shù)、補(bǔ)碼形式的,到底是無(wú)符號(hào)數(shù)、補(bǔ)碼形式的帶符號(hào)數(shù)或者是其他形式的編碼信息,帶符號(hào)數(shù)或者是其他形式的編碼信息,完全由程序設(shè)計(jì)者決定完全由程序設(shè)計(jì)者決定,程序設(shè)計(jì)者應(yīng),程序設(shè)計(jì)者應(yīng)心中有數(shù),否則無(wú)法對(duì)計(jì)算結(jié)果做出正心中有數(shù),否則無(wú)法對(duì)計(jì)算結(jié)果做出正確的判斷和處理。確的判斷和處理。第2章 計(jì)算機(jī)中的

60、數(shù)制和編碼 2022-3-17672.3.2 ASCII字符編碼字符編碼 所謂字符,是指數(shù)字、字母以及其他一些符號(hào)的總稱。所謂字符,是指數(shù)字、字母以及其他一些符號(hào)的總稱。 現(xiàn)代計(jì)算機(jī)不僅用于處理數(shù)值領(lǐng)域的問(wèn)題,而且要處理大現(xiàn)代計(jì)算機(jī)不僅用于處理數(shù)值領(lǐng)域的問(wèn)題,而且要處理大量的非數(shù)值領(lǐng)域的問(wèn)題。這樣一來(lái),必然需要計(jì)算機(jī)能對(duì)數(shù)字、量的非數(shù)值領(lǐng)域的問(wèn)題。這樣一來(lái),必然需要計(jì)算機(jī)能對(duì)數(shù)字、字母、文字以及其他一些符號(hào)進(jìn)行識(shí)別和處理,而計(jì)算機(jī)只能字母、文字以及其他一些符號(hào)進(jìn)行識(shí)別和處理,而計(jì)算機(jī)只能處理二進(jìn)制數(shù),因此,通過(guò)輸入處理二進(jìn)制數(shù),因此,通過(guò)輸入/輸出設(shè)備進(jìn)行人機(jī)交換信息時(shí)輸出設(shè)備進(jìn)行人機(jī)交換信息

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論