




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 第二章第二章 運(yùn)算方法與運(yùn)算器運(yùn)算方法與運(yùn)算器 運(yùn)算方法和運(yùn)算器運(yùn)算方法和運(yùn)算器本章內(nèi)容:本章內(nèi)容: 2.1 2.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法 2.2 2.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算 2.3 2.3 定點(diǎn)乘法運(yùn)算定點(diǎn)乘法運(yùn)算 2.4 2.4 定點(diǎn)除法運(yùn)算定點(diǎn)除法運(yùn)算 2.5 2.5 定點(diǎn)運(yùn)算器的組成定點(diǎn)運(yùn)算器的組成 2.6 2.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器 本章小結(jié)本章小結(jié)運(yùn)算方法和運(yùn)算器運(yùn)算方法和運(yùn)算器2.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法2.1.1 2.1.1 數(shù)據(jù)格式數(shù)據(jù)格式2.1.2 2.1.2 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼
2、表示2.1.3 2.1.3 字符與字符串的表示方法字符與字符串的表示方法2.1.4 2.1.4 漢字的表示方法漢字的表示方法2.1.5 2.1.5 校驗(yàn)碼校驗(yàn)碼 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法2.1.1 2.1.1 數(shù)據(jù)格式數(shù)據(jù)格式 計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種:計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種:(1)定點(diǎn)格式)定點(diǎn)格式(2)浮點(diǎn)格式)浮點(diǎn)格式 定點(diǎn)格式(定點(diǎn)格式(小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置固定固定)容許的數(shù)值范圍有)容許的數(shù)值范圍有限,但要求的處理硬件比限,但要求的處理硬件比較簡單較簡單。 浮點(diǎn)格式浮點(diǎn)格式(小數(shù)點(diǎn)位置浮動(dòng)小數(shù)點(diǎn)位置浮動(dòng))容容許的數(shù)值范圍很大,但要求的處理許的數(shù)值范圍
3、很大,但要求的處理硬件比較復(fù)雜硬件比較復(fù)雜 。數(shù)據(jù)格式數(shù)據(jù)格式1.1. 定點(diǎn)數(shù)的表示方法定點(diǎn)數(shù)的表示方法定點(diǎn)表示定點(diǎn)表示:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是按約按約定固定不變定固定不變的,小數(shù)點(diǎn)就不再使用記號(hào)“.”來表示。定點(diǎn)數(shù)據(jù)的形式:純小數(shù)純小數(shù)或純整數(shù)純整數(shù)。 (設(shè):(設(shè):定點(diǎn)數(shù)表示為定點(diǎn)數(shù)表示為0 01 12 2n n 其中:其中:0 0符號(hào)位,符號(hào)位,0 0代表正號(hào),代表正號(hào),1 1代表負(fù)號(hào))代表負(fù)號(hào))小數(shù)點(diǎn)的位置約定在符號(hào)小數(shù)點(diǎn)的位置約定在符號(hào)位位x x0 0的后面的后面(不顯示不顯示)小數(shù)點(diǎn)的位置約定在數(shù)值小數(shù)點(diǎn)的位置約定在數(shù)值位位x xn n的后面的后面(不顯示不顯示)定點(diǎn)數(shù)的表
4、示方法定點(diǎn)數(shù)的表示方法定點(diǎn)數(shù)例定點(diǎn)數(shù)例例:例:X=+1010110.純整數(shù):純整數(shù):X = 01010110.正數(shù),符號(hào)位取正數(shù),符號(hào)位取0Y= - 1101001.純整數(shù):純整數(shù):Y = 11101001.負(fù)數(shù),符號(hào)位取負(fù)數(shù),符號(hào)位取1X=+0.11011Y=-0.10101符號(hào)位取符號(hào)位取0純小數(shù):純小數(shù):X = 0.11011符號(hào)位取符號(hào)位取1純小數(shù):純小數(shù):X = 1.10101純整數(shù):純整數(shù):X = 01010110符號(hào)位取符號(hào)位取0純整數(shù):純整數(shù):Y = 11101001符號(hào)位取符號(hào)位取1符號(hào)位取符號(hào)位取0純小數(shù):純小數(shù):X = 0.11011符號(hào)位取符號(hào)位取1純小數(shù):純小數(shù):X
5、= 1.10101注意到注意到: 無論是整數(shù)無論是整數(shù)或是小數(shù),或是小數(shù),在機(jī)器數(shù)的在機(jī)器數(shù)的表示中,都表示中,都不出現(xiàn)小數(shù)不出現(xiàn)小數(shù)點(diǎn)點(diǎn)“. .”, ,只是只是約定其位置。約定其位置。定點(diǎn)數(shù)例定點(diǎn)數(shù)例(012n 各位均為各位均為0時(shí)最??;各位均為時(shí)最??;各位均為1時(shí)最大時(shí)最大)純小數(shù)純小數(shù)的表示范圍:的表示范圍: 0|12n (2.1) 純整數(shù)純整數(shù)的表示范圍為的表示范圍為: 0|2n1 (2.2) 目前計(jì)算機(jī)中多采用定點(diǎn)純整數(shù)表示,因此將定點(diǎn)數(shù)目前計(jì)算機(jī)中多采用定點(diǎn)純整數(shù)表示,因此將定點(diǎn)數(shù)表示的運(yùn)算簡稱為表示的運(yùn)算簡稱為整數(shù)運(yùn)算整數(shù)運(yùn)算。 定點(diǎn)數(shù)的表示方法定點(diǎn)數(shù)的表示方法2、浮點(diǎn)數(shù)的表示方
6、法、浮點(diǎn)數(shù)的表示方法 例:例:156.78 =15.678101 = 1.5678102 = 0.15678103=MRE其中:其中:M為為尾數(shù)尾數(shù);R為為基數(shù)基數(shù);E為為階碼階碼(指數(shù))(指數(shù))。二進(jìn)制數(shù)二進(jìn)制數(shù)在定點(diǎn)計(jì)算機(jī)中,在定點(diǎn)計(jì)算機(jī)中,一般約定一般約定: 尾數(shù)尾數(shù)|M| x 01-x =1+ |x| 0 x -1對(duì)于對(duì)于定點(diǎn)整數(shù)定點(diǎn)整數(shù) x x = =1 12 2n n,則原碼的定義是,則原碼的定義是: :對(duì)于對(duì)于定點(diǎn)整數(shù)定點(diǎn)整數(shù),其原碼形式為:,其原碼形式為: 原原= =0 01 12 2n n, , 數(shù)的原碼表示數(shù)的原碼表示 2n0 2n2n| 02n (2.8)符號(hào)符號(hào)數(shù)值數(shù)值
7、例如例如,+11001,則,則原原011001-10101,則,則 原原110101數(shù)的原碼表示數(shù)的原碼表示注意到注意到:“+0+0”、“-0-0” 原碼在機(jī)器中有兩種形式:原碼在機(jī)器中有兩種形式:對(duì)于對(duì)于定點(diǎn)小數(shù)定點(diǎn)小數(shù):+0+0原原 = =0 0. .0000000 -00 -0原原 = =1 1. .0000000 0對(duì)于對(duì)于定點(diǎn)整數(shù)定點(diǎn)整數(shù):+0+0原原 = =0 00000000 0. . -0 -0原原 = =1 10000000 0. . 對(duì)于對(duì)于定點(diǎn)小數(shù)定點(diǎn)小數(shù),其真值與原碼之間的轉(zhuǎn)換,其真值與原碼之間的轉(zhuǎn)換一般符合下面的規(guī)律:一般符合下面的規(guī)律: x=+0.12n 原原0.1
8、2n x=-0.12n 原原1.12n 對(duì)于對(duì)于定點(diǎn)整數(shù)定點(diǎn)整數(shù),其真值與原碼之間的轉(zhuǎn)換,其真值與原碼之間的轉(zhuǎn)換一般一般符合符合下面的規(guī)律:下面的規(guī)律: x=+ 12n 原原012n . x=- 12n 原原112n . 原碼表示法的主要特點(diǎn)是原碼表示法的主要特點(diǎn)是簡單、易懂簡單、易懂,但它的最大缺,但它的最大缺點(diǎn)是:由于數(shù)值部分采用絕對(duì)值表示,因而使得加減法點(diǎn)是:由于數(shù)值部分采用絕對(duì)值表示,因而使得加減法運(yùn)算比較復(fù)雜,而加減法運(yùn)算正是計(jì)算機(jī)中最常使用的運(yùn)算比較復(fù)雜,而加減法運(yùn)算正是計(jì)算機(jī)中最常使用的運(yùn)算。運(yùn)算。 所以,必須探討解決方法所以,必須探討解決方法補(bǔ)碼補(bǔ)碼則正是一種解則正是一種解決方
9、法。決方法。數(shù)的原碼表示數(shù)的原碼表示2.2.補(bǔ)碼表示法補(bǔ)碼表示法 補(bǔ)碼的概念補(bǔ)碼的概念(以鐘表對(duì)時(shí)為例)以鐘表對(duì)時(shí)為例) 假設(shè)現(xiàn)在的標(biāo)準(zhǔn)時(shí)間為假設(shè)現(xiàn)在的標(biāo)準(zhǔn)時(shí)間為4 4點(diǎn)正;點(diǎn)正; 而有一只表已經(jīng)而有一只表已經(jīng)7 7點(diǎn)了,為點(diǎn)了,為了校準(zhǔn)時(shí)間,可以采用兩種方法:一是將時(shí)針退了校準(zhǔn)時(shí)間,可以采用兩種方法:一是將時(shí)針退 3 3 格格(7-3=4)(7-3=4);另一方法是將時(shí)針向前撥另一方法是將時(shí)針向前撥9 9格(格(7+9=16-47+9=16-4)。)。顯然:這兩種方法都能對(duì)準(zhǔn)到顯然:這兩種方法都能對(duì)準(zhǔn)到4 4點(diǎn),由此可以看出,減點(diǎn),由此可以看出,減3 3和加和加9 9是等價(jià)的。所以稱:當(dāng)模數(shù)
10、是等價(jià)的。所以稱:當(dāng)模數(shù)Mod=12Mod=12時(shí),時(shí),9 9是是(-3)(-3)補(bǔ)碼。補(bǔ)碼。用數(shù)學(xué)公式表示:用數(shù)學(xué)公式表示:-3-3+9+9(mod12mod12)“模?!北硎颈粊G掉的數(shù)值。上式在數(shù)學(xué)上稱為同余式。表示被丟掉的數(shù)值。上式在數(shù)學(xué)上稱為同余式。 設(shè)某數(shù)為設(shè)某數(shù)為x,當(dāng),當(dāng)Mod=12時(shí),時(shí),x-3=x+9、x+7=x-5 都是等價(jià)的。都是等價(jià)的。從這里可以得到一個(gè)啟示,就是從這里可以得到一個(gè)啟示,就是當(dāng)當(dāng)負(fù)數(shù)用補(bǔ)碼表示時(shí),可以把負(fù)數(shù)用補(bǔ)碼表示時(shí),可以把減法轉(zhuǎn)化為加法減法轉(zhuǎn)化為加法。 數(shù)的補(bǔ)碼表示數(shù)的補(bǔ)碼表示補(bǔ)碼的定義補(bǔ)碼的定義:1、定點(diǎn)小數(shù)、定點(diǎn)小數(shù)例如例如+0.1011,則,則
11、補(bǔ)補(bǔ)0.1011;-0.1011,則,則補(bǔ)補(bǔ)10+10.0000-0.1011 1.0101正數(shù)的補(bǔ)碼就是本身正數(shù)的補(bǔ)碼就是本身負(fù)數(shù)的補(bǔ)碼需作運(yùn)算負(fù)數(shù)的補(bǔ)碼需作運(yùn)算數(shù)的補(bǔ)碼表示數(shù)的補(bǔ)碼表示 x 1 x 0 2+x=2-|x| 0 x -1 (mod 2) 10.0000 - 0.1011 1.0101 可見,根據(jù)補(bǔ)碼定義,求負(fù)數(shù)的補(bǔ)碼時(shí)需作一次減法運(yùn)算,這可見,根據(jù)補(bǔ)碼定義,求負(fù)數(shù)的補(bǔ)碼時(shí)需作一次減法運(yùn)算,這顯然不是補(bǔ)碼方法的初衷。后面將介紹反碼表示法可以解決負(fù)數(shù)顯然不是補(bǔ)碼方法的初衷。后面將介紹反碼表示法可以解決負(fù)數(shù)的求補(bǔ)問題。的求補(bǔ)問題。2、定點(diǎn)整數(shù)、定點(diǎn)整數(shù)例:已知例:已知x= +101
12、11,y= -11011, 求求 x補(bǔ)、補(bǔ)、y補(bǔ)補(bǔ) (n=5)按定義:按定義:x補(bǔ)補(bǔ) =010111 y補(bǔ)補(bǔ) =25+1+y=1000000-11011=100101數(shù)的補(bǔ)碼表示數(shù)的補(bǔ)碼表示 x 2n x 0 2n+1+x= 2n+1 -|x| 0 x -2n(mod 2n+1) 1000000- 11011 100101注:上式注:上式機(jī)器數(shù)機(jī)器數(shù)的位數(shù)為的位數(shù)為n+1n+1數(shù)的補(bǔ)碼表示數(shù)的補(bǔ)碼表示注注:0 0的補(bǔ)碼只有一種形式的補(bǔ)碼只有一種形式 對(duì)于對(duì)于定點(diǎn)小數(shù)定點(diǎn)小數(shù): : 0補(bǔ)補(bǔ)0補(bǔ)補(bǔ)0.0000 對(duì)于對(duì)于定點(diǎn)整數(shù)定點(diǎn)整數(shù): : 0補(bǔ)補(bǔ)0補(bǔ)補(bǔ)00000 . 因此,補(bǔ)碼的表示范圍相對(duì)于原
13、碼、反碼來因此,補(bǔ)碼的表示范圍相對(duì)于原碼、反碼來講多一種,講多一種,定點(diǎn)小數(shù)定點(diǎn)小數(shù)可以表示可以表示-1,n+1位位定點(diǎn)整定點(diǎn)整數(shù)數(shù)可以表示可以表示-2n。3. 反碼表示法反碼表示法二進(jìn)制數(shù)求反二進(jìn)制數(shù)求反:就是二進(jìn)制的各位數(shù)碼:就是二進(jìn)制的各位數(shù)碼0 0變?yōu)樽優(yōu)? 1,1 1變?yōu)樽優(yōu)? 0。即:若即:若 x xi i =0=0,則,則 =1=1。 若若 x xi i =1=1,則,則 =0.=0.對(duì)對(duì)定點(diǎn)小數(shù)定點(diǎn)小數(shù),反碼的定義參見書(反碼的定義參見書(2.11)2.11)式。式。ix數(shù)的反碼表示數(shù)的反碼表示ix正數(shù)的反碼就是本身正數(shù)的反碼就是本身負(fù)數(shù)的反碼則是:負(fù)數(shù)的反碼則是:符號(hào)位為符號(hào)
14、位為1,數(shù)值位,數(shù)值位 求反。求反。 x 1 x 0( 2- 2-n ) +x= ( 2- 2-n )_|x| 0 x -1 (2.11)由式(由式(2.112.11)可以得出:)可以得出:x反反+|x|=1.1111=10.00-0.001 = 2- 2-n 得出:得出: 反反(22n) 0 x -1數(shù)的反碼表示數(shù)的反碼表示比較反碼與補(bǔ)碼的公式比較反碼與補(bǔ)碼的公式 反反(2(22 2n n) ) 補(bǔ)補(bǔ)2 2可得到:可得到:補(bǔ)補(bǔ)反反2n由此可知一個(gè)由反碼求補(bǔ)碼的重要公式,即:由此可知一個(gè)由反碼求補(bǔ)碼的重要公式,即: 一個(gè)一個(gè)負(fù)數(shù)負(fù)數(shù)的補(bǔ)碼,可以通過將該數(shù):的補(bǔ)碼,可以通過將該數(shù):符號(hào)位置符號(hào)位
15、置1 1,其余取反,然后在最末位(其余取反,然后在最末位(2-n )上加)上加1 1 的方法直的方法直接獲得。接獲得。數(shù)的補(bǔ)碼與反碼關(guān)系數(shù)的補(bǔ)碼與反碼關(guān)系例:已知例:已知x=+0.1011,y=-0.1101, 求求 x補(bǔ)、補(bǔ)、y補(bǔ)補(bǔ)按定義:按定義:x補(bǔ)補(bǔ) =0.1011(注:注:正數(shù)的補(bǔ)碼就是該數(shù)本身正數(shù)的補(bǔ)碼就是該數(shù)本身) y補(bǔ)補(bǔ) =1.0010+0.0001=1.0011y反反2-n注意到注意到: 0的反碼不唯一的反碼不唯一即:即:0反反0.000; 0反反1.111數(shù)的補(bǔ)碼與反碼關(guān)系數(shù)的補(bǔ)碼與反碼關(guān)系對(duì)定點(diǎn)整數(shù),反碼表示的定義為:對(duì)定點(diǎn)整數(shù),反碼表示的定義為: 也可以用也可以用同樣同樣
16、的方法得出定點(diǎn)整數(shù)的補(bǔ)碼與反碼的方法得出定點(diǎn)整數(shù)的補(bǔ)碼與反碼的關(guān)系,找出利用反碼求定點(diǎn)整數(shù)補(bǔ)碼的方法。的關(guān)系,找出利用反碼求定點(diǎn)整數(shù)補(bǔ)碼的方法。 x 2n x 0 (2n+1-1)+x 0 x -2n (2.13)_數(shù)的補(bǔ)碼與反碼關(guān)系數(shù)的補(bǔ)碼與反碼關(guān)系 求一個(gè)負(fù)數(shù)的補(bǔ)碼的另一種有效的轉(zhuǎn)換求一個(gè)負(fù)數(shù)的補(bǔ)碼的另一種有效的轉(zhuǎn)換方法:方法: 對(duì)于對(duì)于負(fù)數(shù)負(fù)數(shù),將原碼的符號(hào)位不變(或直,將原碼的符號(hào)位不變(或直接將符號(hào)位置接將符號(hào)位置1 1),數(shù)值部分由低位向高位轉(zhuǎn)),數(shù)值部分由低位向高位轉(zhuǎn)換,對(duì)開始遇到的換,對(duì)開始遇到的0 0和第一個(gè)和第一個(gè)1 1取其原值不變,取其原值不變,第一個(gè)第一個(gè)1 1以后的各
17、位均取反。以后的各位均取反。例:例: y=-0.110100, 求求 y補(bǔ)補(bǔ) 解:解:y補(bǔ)補(bǔ)=1.001 100保持不變保持不變逐位取反逐位取反y反反=1.001011y補(bǔ)補(bǔ)=1.001011+0.000001 =1.001100 數(shù)的補(bǔ)碼與反碼關(guān)系數(shù)的補(bǔ)碼與反碼關(guān)系4.移碼表示法移碼表示法 在計(jì)算機(jī)中,移碼通常用于表示浮點(diǎn)在計(jì)算機(jī)中,移碼通常用于表示浮點(diǎn)數(shù)的階碼。由于階碼一般取整數(shù),所以數(shù)的階碼。由于階碼一般取整數(shù),所以移碼通常只用于移碼通常只用于整數(shù)整數(shù)的表示。的表示。對(duì)定點(diǎn)整數(shù)對(duì)定點(diǎn)整數(shù), ,移碼的定義是:移碼的定義是: 移移2 2n n2 2n n2 2n n (n n為移碼數(shù)值部分的
18、位數(shù)為移碼數(shù)值部分的位數(shù))移碼的表示方法移碼的表示方法例例:若階碼:若階碼數(shù)值數(shù)值部分為部分為5 5位位, ,以以表示真值,則表示真值,則 移移25 25 25 又例又例: 當(dāng)正數(shù)當(dāng)正數(shù)10101 時(shí)時(shí),移移1,10101 當(dāng)負(fù)數(shù)當(dāng)負(fù)數(shù)10101 時(shí)時(shí), 移移2525101010,01011。注意到注意到: 移碼中的移碼中的逗號(hào)逗號(hào)不是小數(shù)點(diǎn)不是小數(shù)點(diǎn), ,而是表示左邊而是表示左邊一位是符號(hào)位。顯然一位是符號(hào)位。顯然, ,移碼中符號(hào)位移碼中符號(hào)位0 0表示的規(guī)律表示的規(guī)律與原碼、補(bǔ)碼、反碼相反。移碼在數(shù)值上與補(bǔ)碼一與原碼、補(bǔ)碼、反碼相反。移碼在數(shù)值上與補(bǔ)碼一致,但是符號(hào)位與補(bǔ)碼正好相反!致,但
19、是符號(hào)位與補(bǔ)碼正好相反!移碼的表示方法移碼的表示方法機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié):在數(shù)據(jù)的四種機(jī)器碼表示法中:在數(shù)據(jù)的四種機(jī)器碼表示法中:正數(shù)的原碼、反碼、補(bǔ)碼等于真值,只有負(fù)數(shù)才分正數(shù)的原碼、反碼、補(bǔ)碼等于真值,只有負(fù)數(shù)才分別有不同的表示方法。別有不同的表示方法。補(bǔ)碼和移碼的補(bǔ)碼和移碼的0 0只有一種表示只有一種表示方法,因此其表示范圍相對(duì)于原碼和反碼多一種,方法,因此其表示范圍相對(duì)于原碼和反碼多一種,定點(diǎn)小數(shù)可表示定點(diǎn)小數(shù)可表示-1-1(移碼沒有小數(shù)形式),正數(shù)可(移碼沒有小數(shù)形式),正數(shù)可表示表示-2-2n n。移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼,可以直接移碼表示法主要用于表示浮點(diǎn)數(shù)
20、的階碼,可以直接比較大小。表示范圍和補(bǔ)碼相同,只有最高位相反。比較大小。表示范圍和補(bǔ)碼相同,只有最高位相反。機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié)由于補(bǔ)碼表示對(duì)加減法運(yùn)算十分方便,因此目前機(jī)由于補(bǔ)碼表示對(duì)加減法運(yùn)算十分方便,因此目前機(jī)器中廣泛采用補(bǔ)碼表示法。在這類機(jī)器中數(shù)用補(bǔ)碼器中廣泛采用補(bǔ)碼表示法。在這類機(jī)器中數(shù)用補(bǔ)碼表示,補(bǔ)碼存儲(chǔ),補(bǔ)碼運(yùn)算。(也有些機(jī)器,數(shù)用表示,補(bǔ)碼存儲(chǔ),補(bǔ)碼運(yùn)算。(也有些機(jī)器,數(shù)用原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼。還有些機(jī)原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼。還有些機(jī)器在做加減法時(shí)用補(bǔ)碼運(yùn)算,在做乘除法時(shí)用原碼器在做加減法時(shí)用補(bǔ)碼運(yùn)算,在做乘除法時(shí)用原碼運(yùn)算)運(yùn)算)機(jī)器碼表
21、示法小結(jié)機(jī)器碼表示法小結(jié) 例例3 3 以定點(diǎn)整數(shù)為例以定點(diǎn)整數(shù)為例, ,用數(shù)軸形式說明原碼、反碼、補(bǔ)碼表示用數(shù)軸形式說明原碼、反碼、補(bǔ)碼表示范圍和可能的數(shù)碼組合情況。范圍和可能的數(shù)碼組合情況。 解解:原碼、反碼、補(bǔ)碼表示分別示于下圖。與原碼、反碼不同原碼、反碼、補(bǔ)碼表示分別示于下圖。與原碼、反碼不同, ,在補(bǔ)碼表示中,在補(bǔ)碼表示中,“0 0”只有一種形式只有一種形式, ,且用補(bǔ)碼表示負(fù)數(shù)時(shí)范圍可到且用補(bǔ)碼表示負(fù)數(shù)時(shí)范圍可到2 2n n 。機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié) 例例44將十進(jìn)制真值將十進(jìn)制真值(127、1、0、1、127) )列表表示成二列表表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。
22、進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。 解解:二進(jìn)制真值及其諸碼值列于下表二進(jìn)制真值及其諸碼值列于下表, ,其中其中0 0在在 原原 反反中有中有兩種表示。由表中數(shù)據(jù)可知兩種表示。由表中數(shù)據(jù)可知, ,補(bǔ)碼值與移碼值差別僅在于符號(hào)位不補(bǔ)碼值與移碼值差別僅在于符號(hào)位不同。同。機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié) 例例55 設(shè)機(jī)器字長設(shè)機(jī)器字長1616位位, ,定點(diǎn)表示定點(diǎn)表示, ,尾數(shù)尾數(shù)1515位位, ,數(shù)符數(shù)符1 1位位, ,問:問:(1)(1)定點(diǎn)原碼整數(shù)表示時(shí)定點(diǎn)原碼整數(shù)表示時(shí), ,最大正數(shù)是多少最大正數(shù)是多少? ?最小負(fù)數(shù)是多少最小負(fù)數(shù)是多少? ?(2)(2)定點(diǎn)原碼小數(shù)表示時(shí)定點(diǎn)原碼小數(shù)表示時(shí)
23、, ,最大正數(shù)是多少最大正數(shù)是多少? ?最小負(fù)數(shù)是多少最小負(fù)數(shù)是多少? ? 解解:(1)(1)定點(diǎn)原碼整數(shù)定點(diǎn)原碼整數(shù)表示表示 最大正數(shù)值最大正數(shù)值=0 =0 111111111111111111111111111111 +(2+(215151)1)1010( (32767)32767)1010 最小負(fù)數(shù)值最小負(fù)數(shù)值=1 =1 111111111111111111111111111111 (2(215151)1)1010( (32767)32767)10 10 (15個(gè)個(gè)1)機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié)(2) (2) 定點(diǎn)原碼小數(shù)定點(diǎn)原碼小數(shù)表示表示 最大正數(shù)值最大正數(shù)值( (0.111.
24、11)0.111.11)(1(12 21515) )10 10 最小負(fù)數(shù)值最小負(fù)數(shù)值( (0.111.11)0.111.11)(1(12 21515) )1010 例例66假設(shè)由假設(shè)由S,E,MS,E,M三個(gè)域組成的一個(gè)三個(gè)域組成的一個(gè)3232位二進(jìn)制字所表示的非零位二進(jìn)制字所表示的非零規(guī)格化浮點(diǎn)數(shù)規(guī)格化浮點(diǎn)數(shù), ,真值表示為:真值表示為: (1)s(1.M)2E128問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少?負(fù)數(shù)是多少?解解: (1)最大正數(shù)最大正數(shù)1111111111111111111111111111111
25、0 1(12-23) 2127(2)最小正數(shù)最小正數(shù) 00000000000000000000000000000000 1.0 2128機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié)(4)(4)最大負(fù)數(shù)最大負(fù)數(shù) 00000000000000000000000000000000 1.0 2128 11111111111111111111111111111111 1(1223) 2127 (3)最小負(fù)數(shù)最小負(fù)數(shù)機(jī)器碼表示法小結(jié)機(jī)器碼表示法小結(jié)2.1.3 字符與字符串的表示方法字符與字符串的表示方法1.1.字符的表示方法字符的表示方法 目前國際上普遍采用的字符系統(tǒng)是七單位的目前國際上普遍采用的字符系統(tǒng)是七單位的A
26、SCIIASCII碼碼( (美國國家信息交換標(biāo)準(zhǔn)字符碼美國國家信息交換標(biāo)準(zhǔn)字符碼),),它包括它包括1010個(gè)十進(jìn)個(gè)十進(jìn)制數(shù)碼制數(shù)碼,26,26個(gè)英文字母和一定數(shù)量的專用符號(hào)個(gè)英文字母和一定數(shù)量的專用符號(hào), ,如如$,%,$,%, ,等,共等,共128128個(gè)元素個(gè)元素, ,因此二進(jìn)制編碼需因此二進(jìn)制編碼需7 7位位, ,加一加一位偶校驗(yàn)位位偶校驗(yàn)位, ,共共8 8位一個(gè)字節(jié)。位一個(gè)字節(jié)。 ASCIIASCII碼規(guī)定碼規(guī)定8 8個(gè)二進(jìn)制位的最高一位(個(gè)二進(jìn)制位的最高一位(b7)恒)恒為為0 0,余下的余下的7 7位可以給出位可以給出128128個(gè)編碼個(gè)編碼, ,表示表示128128個(gè)不同的字符
27、。個(gè)不同的字符。字符和字符串的表示方法字符和字符串的表示方法表表2.1 ASCII字符編碼表字符編碼表0000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111DELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?O_oDELb3b2b1b0位位b
28、6b5b4位位2. 字符串字符串字符串字符串:是指連續(xù)的一串字符:是指連續(xù)的一串字符,通常方式下通常方式下,它們依次占用主存中它們依次占用主存中連續(xù)的多個(gè)字節(jié)連續(xù)的多個(gè)字節(jié),每個(gè)字節(jié)存一個(gè)字符。每個(gè)字節(jié)存一個(gè)字符。 例例 將字符串:將字符串:IFABTHENREAD(C)從高位字節(jié)到低位字節(jié)依次存在主存中。從高位字節(jié)到低位字節(jié)依次存在主存中。解解:設(shè):主存單元長度由設(shè):主存單元長度由4個(gè)字節(jié)組成。每個(gè)字節(jié)中存放相應(yīng)字符個(gè)字節(jié)組成。每個(gè)字節(jié)中存放相應(yīng)字符的的ASCII值,文字表達(dá)式中的空格值,文字表達(dá)式中的空格“”在主存中也占一個(gè)字在主存中也占一個(gè)字節(jié)的位置。節(jié)的位置。 因而每個(gè)字節(jié)分別存放十進(jìn)
29、制的因而每個(gè)字節(jié)分別存放十進(jìn)制的73、70、32、65、62、66、32、84、72、69、78、32、82、69、65、68、40、67、41、32。 字符和字符串的表示方法字符和字符串的表示方法IF空AB空THEN空READ(C)空主存各字節(jié)單元內(nèi)容主存各字節(jié)單元內(nèi)容字符和字符串的表示方法字符和字符串的表示方法2.1.4 2.1.4 漢字的表示方法漢字的表示方法1. 1. 漢字的輸入編碼漢字的輸入編碼包括:包括:數(shù)字碼數(shù)字碼、拼音碼拼音碼和和字形碼字形碼數(shù)字碼:數(shù)字碼:常用的是國標(biāo)區(qū)位碼常用的是國標(biāo)區(qū)位碼,用數(shù)字串代表一個(gè)漢字輸入。區(qū)位碼是用數(shù)字串代表一個(gè)漢字輸入。區(qū)位碼是將國家標(biāo)準(zhǔn)局公布
30、的將國家標(biāo)準(zhǔn)局公布的6763個(gè)兩級(jí)漢字分為個(gè)兩級(jí)漢字分為94個(gè)個(gè)區(qū)區(qū),每個(gè)區(qū)分每個(gè)區(qū)分94位位,實(shí)際上實(shí)際上把漢字表示成二維數(shù)組把漢字表示成二維數(shù)組,每個(gè)漢字在數(shù)組中的下標(biāo)就是每個(gè)漢字在數(shù)組中的下標(biāo)就是區(qū)位碼區(qū)位碼。區(qū)碼和。區(qū)碼和位碼各兩位十進(jìn)制數(shù)字位碼各兩位十進(jìn)制數(shù)字,因此輸入一個(gè)漢字需按鍵因此輸入一個(gè)漢字需按鍵四次四次。 數(shù)字編碼輸入的數(shù)字編碼輸入的優(yōu)點(diǎn)優(yōu)點(diǎn)是無重碼是無重碼,且輸入碼與內(nèi)部編碼的轉(zhuǎn)換比較方便且輸入碼與內(nèi)部編碼的轉(zhuǎn)換比較方便,。缺點(diǎn)缺點(diǎn)是代碼難以記憶。是代碼難以記憶。拼音碼:拼音碼:拼音碼是以漢字拼音為基礎(chǔ)的輸入方法。使用拼音碼是以漢字拼音為基礎(chǔ)的輸入方法。使用簡單方便簡單方
31、便,但,但漢字同音字太多漢字同音字太多,輸入輸入重碼率很高重碼率很高,同音字選擇影響了輸入速度。同音字選擇影響了輸入速度。漢字的表示方法漢字的表示方法(漢字的輸入編碼)(漢字的輸入編碼)字形碼:字形碼:字形編碼是用漢字的形狀來進(jìn)行的編碼(例:五筆字字形編碼是用漢字的形狀來進(jìn)行的編碼(例:五筆字型)。把漢字的筆劃部件用字母或數(shù)字進(jìn)行編碼型)。把漢字的筆劃部件用字母或數(shù)字進(jìn)行編碼,按筆劃的順序按筆劃的順序依次輸入依次輸入,就能表示一個(gè)漢字。就能表示一個(gè)漢字。 為了加快輸入速度為了加快輸入速度,在上述方法基礎(chǔ)上在上述方法基礎(chǔ)上,發(fā)展了詞組輸入發(fā)展了詞組輸入聯(lián)想聯(lián)想輸入等多種快速輸入方法。但是都利用了
32、鍵盤進(jìn)行輸入等多種快速輸入方法。但是都利用了鍵盤進(jìn)行“手動(dòng)手動(dòng)”輸入。輸入。理想的輸入方式是利用語音或圖象識(shí)別技術(shù)理想的輸入方式是利用語音或圖象識(shí)別技術(shù)“自動(dòng)自動(dòng)”將拼音或文將拼音或文本輸入到計(jì)算機(jī)內(nèi)本輸入到計(jì)算機(jī)內(nèi),使計(jì)算機(jī)能認(rèn)識(shí)漢字使計(jì)算機(jī)能認(rèn)識(shí)漢字,聽懂漢語聽懂漢語,并將其自動(dòng)轉(zhuǎn)并將其自動(dòng)轉(zhuǎn)換為機(jī)內(nèi)代碼表示。目前這種理想已經(jīng)成為現(xiàn)實(shí)。換為機(jī)內(nèi)代碼表示。目前這種理想已經(jīng)成為現(xiàn)實(shí)。 漢字的表示方法漢字的表示方法(漢字的輸入編碼)(漢字的輸入編碼)2.2.漢字內(nèi)碼漢字內(nèi)碼 漢字內(nèi)碼漢字內(nèi)碼是用于漢字信息的存儲(chǔ)、交換、檢索等是用于漢字信息的存儲(chǔ)、交換、檢索等操作的機(jī)內(nèi)代碼操作的機(jī)內(nèi)代碼, ,一般
33、采用兩個(gè)字節(jié)表示。英文字符一般采用兩個(gè)字節(jié)表示。英文字符的機(jī)內(nèi)代碼是七位的的機(jī)內(nèi)代碼是七位的ASCIIASCII碼碼, ,當(dāng)用一個(gè)字節(jié)表示時(shí)當(dāng)用一個(gè)字節(jié)表示時(shí), ,最高位為最高位為“0 0”。為了與英文字符能相互區(qū)別。為了與英文字符能相互區(qū)別, ,漢字機(jī)漢字機(jī)內(nèi)代碼中兩個(gè)字節(jié)的最高位均規(guī)定為內(nèi)代碼中兩個(gè)字節(jié)的最高位均規(guī)定為“1 1”。注意注意:有些系統(tǒng)中字節(jié)的最高位用于奇偶校驗(yàn)位,這種有些系統(tǒng)中字節(jié)的最高位用于奇偶校驗(yàn)位,這種情況下用三個(gè)字節(jié)表示漢字內(nèi)碼。情況下用三個(gè)字節(jié)表示漢字內(nèi)碼。漢字的表示方法漢字的表示方法(漢字的內(nèi)碼)(漢字的內(nèi)碼)3. 3. 漢字字模碼漢字字模碼字模碼字模碼是用點(diǎn)陣表
34、示的漢字字形代碼是用點(diǎn)陣表示的漢字字形代碼, ,它是漢字的輸出形式它是漢字的輸出形式。例如:例如:字模碼字模碼漢字的表示方法漢字的表示方法(漢字字模碼)(漢字字模碼)此例,漢字的字模碼為:此例,漢字的字模碼為:16位位 16位位=32字節(jié)字節(jié)注意到注意到:1.1.字模點(diǎn)陣只能用來構(gòu)成字模點(diǎn)陣只能用來構(gòu)成漢字庫漢字庫, ,而不能用于機(jī)內(nèi)而不能用于機(jī)內(nèi)存儲(chǔ)。字庫中存儲(chǔ)了每個(gè)漢字的點(diǎn)陣代碼,用于存儲(chǔ)。字庫中存儲(chǔ)了每個(gè)漢字的點(diǎn)陣代碼,用于漢字的顯示輸出或打印輸出。當(dāng)顯示輸出或打印漢字的顯示輸出或打印輸出。當(dāng)顯示輸出或打印輸出時(shí)才檢索字庫,輸出字模點(diǎn)陣,得到字形。輸出時(shí)才檢索字庫,輸出字模點(diǎn)陣,得到字形
35、。2.2.漢字的漢字的輸入編碼輸入編碼、漢字內(nèi)碼漢字內(nèi)碼、字模碼字模碼是計(jì)算機(jī)中是計(jì)算機(jī)中用于用于輸入輸入、內(nèi)部處理內(nèi)部處理、輸出三種輸出三種不同用途的編碼不同用途的編碼, ,不要混為一談不要混為一談。漢字的表示方法漢字的表示方法(漢字字模碼)(漢字字模碼) 各種因素常常導(dǎo)致計(jì)算機(jī)在處理信息過程中出現(xiàn)錯(cuò)誤。為了各種因素常常導(dǎo)致計(jì)算機(jī)在處理信息過程中出現(xiàn)錯(cuò)誤。為了防止錯(cuò)誤防止錯(cuò)誤, ,可將信號(hào)采用專門的邏輯線路進(jìn)行編碼以檢測錯(cuò)誤可將信號(hào)采用專門的邏輯線路進(jìn)行編碼以檢測錯(cuò)誤, ,甚至校正錯(cuò)誤。甚至校正錯(cuò)誤。2.1.5 2.1.5 校驗(yàn)碼校驗(yàn)碼 最簡單且應(yīng)用廣泛的檢錯(cuò)碼方法是奇偶校驗(yàn)法,即:采用一最
36、簡單且應(yīng)用廣泛的檢錯(cuò)碼方法是奇偶校驗(yàn)法,即:采用一位校驗(yàn)位的位校驗(yàn)位的奇校驗(yàn)奇校驗(yàn)或或偶校驗(yàn)的方法偶校驗(yàn)的方法。設(shè)設(shè)(01n1)是一個(gè)是一個(gè)n位字位字,則則奇校驗(yàn)位奇校驗(yàn)位定義為:定義為:C0 1 n1 ,式中式中 代表按位加代表按位加, 只有當(dāng)中包含只有當(dāng)中包含有奇數(shù)個(gè)有奇數(shù)個(gè)1時(shí)時(shí),才使才使 C1,即即 C0。同理同理,偶校驗(yàn)位定義為:偶校驗(yàn)位定義為:C0 1 n1 即中包含偶數(shù)個(gè)即中包含偶數(shù)個(gè)1時(shí)時(shí),才使才使C0。效驗(yàn)碼效驗(yàn)碼 假設(shè)一個(gè)字假設(shè)一個(gè)字從部件從部件 A A 傳送到部件傳送到部件 B B。在源點(diǎn)。在源點(diǎn) A,A,校驗(yàn)位校驗(yàn)位C C可用上面公式算出來可用上面公式算出來, ,并合在
37、一起將并合在一起將( (0 01 1n-1n-1C)C)送到送到B B,采用偶效驗(yàn)。采用偶效驗(yàn)。假設(shè),在假設(shè),在B B點(diǎn)真正接收到的是點(diǎn)真正接收到的是( (0 01 1n n1 1C C ),),然后然后計(jì)算:計(jì)算: F F 0 0 1 1 n n1 1C C 若若F F1,1,意味著收到的信息有錯(cuò)意味著收到的信息有錯(cuò), ,若若F F0,0,表明表明字傳送正確。字傳送正確。奇偶校驗(yàn)可提供奇數(shù)個(gè)錯(cuò)誤檢測奇偶校驗(yàn)可提供奇數(shù)個(gè)錯(cuò)誤檢測, ,但無法檢測偶數(shù)個(gè)錯(cuò)誤但無法檢測偶數(shù)個(gè)錯(cuò)誤, ,更無更無法識(shí)別錯(cuò)誤信息的位置。(循環(huán)校驗(yàn)碼法識(shí)別錯(cuò)誤信息的位置。(循環(huán)校驗(yàn)碼CRCCRC可解決此問題)可解決此問題)
38、效驗(yàn)碼效驗(yàn)碼例7 見書P30數(shù)據(jù)數(shù)據(jù)偶校驗(yàn)編碼偶校驗(yàn)編碼奇校驗(yàn)編碼奇校驗(yàn)編碼1 0 1 0 1 0 1 01 0 1 0 1 0 1 00 1 0 1 0 1 0 00 1 0 1 0 1 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 1 1 1 1 1 1 10 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 - -0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - -0 1 1 1
39、 1 1 1 1 0 1 1 1 1 1 1 1 - -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - -1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 - -0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 - -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - -0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 - -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - -效驗(yàn)碼效驗(yàn)碼解解假如校驗(yàn)位后傳送的數(shù)碼為:假如校驗(yàn)位后傳送的數(shù)碼為:數(shù)據(jù)數(shù)據(jù)偶校驗(yàn)編碼偶校驗(yàn)編碼奇校驗(yàn)編碼奇校驗(yàn)編碼1 0
40、1 0 1 0 1 01 0 1 0 1 0 1 00 1 0 1 0 1 0 00 1 0 1 0 1 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 1 1 1 1 1 1 10 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 00 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1
41、1 1 1 1 1 1 1 1 1 0 01 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 10 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1效驗(yàn)碼效驗(yàn)碼2.2 定點(diǎn)加法減法運(yùn)算定點(diǎn)加法減法運(yùn)算 2.2.1 補(bǔ)碼加法補(bǔ)碼加法2.2.2 補(bǔ)碼減法補(bǔ)碼減法2.2.3 溢出概念與檢驗(yàn)方法溢出概念與檢驗(yàn)方法2.2.4 基本的二進(jìn)制加法、減法器基本的二進(jìn)制加
42、法、減法器2.2.5 十進(jìn)制加法器十進(jìn)制加法器定點(diǎn)加減法運(yùn)算定點(diǎn)加減法運(yùn)算2.2.1 補(bǔ)碼加法補(bǔ)碼加法補(bǔ)碼加法的公式是:補(bǔ)碼加法的公式是:補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ) (mod 2) 現(xiàn)分四種情況來證明。假設(shè)采用定點(diǎn)小數(shù)表示現(xiàn)分四種情況來證明。假設(shè)采用定點(diǎn)小數(shù)表示, ,因此證明因此證明的先決條件是:的先決條件是:1, 1, 1, 1, 1 1。(1)0,0,則則0。 相加兩數(shù)都是正數(shù)相加兩數(shù)都是正數(shù), ,故其和也一定是正數(shù)。正數(shù)的補(bǔ)碼和原故其和也一定是正數(shù)。正數(shù)的補(bǔ)碼和原碼是一樣的碼是一樣的, ,可得:可得:補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)(mod 2) 補(bǔ)碼的加法補(bǔ)碼的加法(2)(2)0,0,0,0,則則00或或000時(shí)時(shí),2
43、 ,2 ( () 2,) 2,進(jìn)位進(jìn)位2 2必丟失必丟失, ,又因又因( ()0)0,所以:,所以: 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 2)(mod 2)當(dāng)當(dāng)00時(shí)時(shí),2 ,2 ( () 2,) 2,又因又因( ()0)0,所,所以:以: 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)2 2( () ) 補(bǔ)補(bǔ)(mod 2)(mod 2)補(bǔ)碼的加法補(bǔ)碼的加法(3)(3)0,0,0,則則00或或 00。這種情況和第這種情況和第2 2種情況一樣種情況一樣, ,把把和和的位置對(duì)調(diào)即得證。的位置對(duì)調(diào)即得證。 (4)(4)0,0,0,0,則則00。 相加兩數(shù)都是負(fù)數(shù)相加兩數(shù)都是負(fù)數(shù), ,則其和也一定是負(fù)數(shù)。則其和也一定是負(fù)數(shù)。 補(bǔ)補(bǔ)2 2, , 補(bǔ)
44、補(bǔ)2 2 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)2 22 22 2(2(2) )上式右邊分為上式右邊分為”2 2”和和(2(2) )兩部分兩部分. .既然既然( () )是是負(fù)數(shù)負(fù)數(shù), ,而其絕對(duì)值又小于而其絕對(duì)值又小于1,1,那么那么(2(2) )就一定是小于就一定是小于2 2而大于而大于1 1的數(shù)的數(shù), ,進(jìn)位進(jìn)位”2 2”必丟失必丟失. .又因又因( ()0, )0所以:所以: 0.1101又例又例 +0.0110,+0.1110, 求。求。解解:補(bǔ)補(bǔ)0.0110 補(bǔ)補(bǔ)0.1110 補(bǔ)補(bǔ)1.0010 補(bǔ)補(bǔ) 0.0110補(bǔ)補(bǔ) 1.0010 補(bǔ)補(bǔ) 1.1000 0所以:所以: - 0.1000補(bǔ)碼的減法補(bǔ)碼的減法2.2
45、.3 溢出概念與檢測方法溢出概念與檢測方法 以定點(diǎn)小數(shù)為例以定點(diǎn)小數(shù)為例: 在定點(diǎn)小數(shù)機(jī)器中在定點(diǎn)小數(shù)機(jī)器中, ,數(shù)的表示范圍為數(shù)的表示范圍為| |1. | x 0 4+x=4-|x| 0 x -2 (2.22)溢出概念與檢測方法溢出概念與檢測方法或用同余式表示:或用同余式表示:補(bǔ)補(bǔ)4(mod 4)下式也同樣成立:下式也同樣成立: 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 4) 1. 兩個(gè)符號(hào)位都看作數(shù)碼一樣參加運(yùn)算兩個(gè)符號(hào)位都看作數(shù)碼一樣參加運(yùn)算 2.2.兩數(shù)進(jìn)行以兩數(shù)進(jìn)行以4位模的加法位模的加法, ,即最高符號(hào)位上產(chǎn)生的進(jìn)即最高符號(hào)位上產(chǎn)生的進(jìn)位要丟掉。位要丟掉。 采用變形補(bǔ)碼后,如果兩個(gè)數(shù)相加后,其結(jié)果
46、的采用變形補(bǔ)碼后,如果兩個(gè)數(shù)相加后,其結(jié)果的符號(hào)位出現(xiàn)符號(hào)位出現(xiàn)“01”或或“10”兩種組合時(shí)兩種組合時(shí), ,表示發(fā)生溢出。表示發(fā)生溢出。這這是因?yàn)閮蓚€(gè)絕對(duì)值小于是因?yàn)閮蓚€(gè)絕對(duì)值小于1的數(shù)相加的數(shù)相加, ,其結(jié)果不會(huì)大于或其結(jié)果不會(huì)大于或等于等于2。所以,最高符號(hào)位所表示的是。所以,最高符號(hào)位所表示的是結(jié)果的正確符號(hào)結(jié)果的正確符號(hào)。溢出概念與檢測方法溢出概念與檢測方法為了得到兩數(shù)變形補(bǔ)碼之和等于兩數(shù)之和的變形補(bǔ)碼為了得到兩數(shù)變形補(bǔ)碼之和等于兩數(shù)之和的變形補(bǔ)碼, ,樣必須:樣必須: 例例14 14 0.1100.1100, 0, 0.1000,0.1000,求求。溢出概念與檢測方法溢出概念與檢測
47、方法 解解 : 補(bǔ)補(bǔ)00.1100,補(bǔ)補(bǔ)00.1000 補(bǔ)補(bǔ) 00.1100 補(bǔ)補(bǔ) 00.1000 01.0100 兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出現(xiàn)“0101”, ,表示已溢出表示已溢出, ,即結(jié)果即結(jié)果大于大于1 1。上溢上溢 又又例例 0.1100.1100, 0, 0.0001,0.0001,求求。溢出概念與檢測方法溢出概念與檢測方法 解解 : 補(bǔ)補(bǔ)00.1100,補(bǔ)補(bǔ)00.1000 補(bǔ)補(bǔ) 00.1100 補(bǔ)補(bǔ) 00.0001 00.1101 兩個(gè)符號(hào)位兩個(gè)符號(hào)位 = =“0000”, ,表示表示無溢出無溢出。 例例1515 0.1100, 0.1100, -0.1000,-0.1000,求
48、求溢出概念與檢測方法溢出概念與檢測方法 解解 : 補(bǔ)補(bǔ)11.0100,補(bǔ)補(bǔ)11.1000 補(bǔ)補(bǔ)11.0100補(bǔ)補(bǔ)11.1000 1010.1100.1100 兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出現(xiàn)“10”, ,表示已溢出表示已溢出, ,即結(jié)果即結(jié)果小于小于1。下溢下溢 又例又例 0.0100, 0.0100, -0.1000,-0.1000,求求。溢出概念與檢測方法溢出概念與檢測方法 解解 : 補(bǔ)補(bǔ)11.1100,補(bǔ)補(bǔ)11.1000 補(bǔ)補(bǔ)11.1100補(bǔ)補(bǔ)11.1000 1111.0100.0100 兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出現(xiàn)“11”, ,表示表示無溢出無溢出。溢出概念與檢測方法溢出概念與檢測方法由此
49、可以得出如下結(jié)論由此可以得出如下結(jié)論:1.1.當(dāng)以模當(dāng)以模4 4補(bǔ)碼運(yùn)算補(bǔ)碼運(yùn)算, ,運(yùn)算結(jié)果的運(yùn)算結(jié)果的二符號(hào)位相異二符號(hào)位相異時(shí)時(shí), ,表示表示溢出溢出;相同相同時(shí)時(shí), ,表示表示未溢出未溢出。 故故: : 溢出邏輯表達(dá)式為溢出邏輯表達(dá)式為 VSf1 Sf2,其中其中Sf1和和Sf2分分別為最高符號(hào)位和第二符號(hào)位。別為最高符號(hào)位和第二符號(hào)位。此邏輯表達(dá)式可此邏輯表達(dá)式可用用異或門異或門實(shí)現(xiàn)。實(shí)現(xiàn)。2. 2. 模模4 4補(bǔ)碼相加的結(jié)果補(bǔ)碼相加的結(jié)果, ,不論溢出與否不論溢出與否, ,最高符號(hào)位最高符號(hào)位始終指示正確的符號(hào)。始終指示正確的符號(hào)。 溢出概念與檢測方法溢出概念與檢測方法第二種溢出檢
50、測方法第二種溢出檢測方法:采用采用“單符號(hào)位法單符號(hào)位法”。 從例從例1 1和和例例2 2中看到中看到:(1).:(1).當(dāng)最高有效位產(chǎn)生進(jìn)位而當(dāng)最高有效位產(chǎn)生進(jìn)位而符號(hào)位無進(jìn)位時(shí)符號(hào)位無進(jìn)位時(shí), ,產(chǎn)生產(chǎn)生上溢上溢;(2).(2).當(dāng)最高有效位無進(jìn)當(dāng)最高有效位無進(jìn)位而符號(hào)位有進(jìn)位時(shí)位而符號(hào)位有進(jìn)位時(shí), ,產(chǎn)生產(chǎn)生下溢下溢。 故:故:溢出邏輯表達(dá)式為溢出邏輯表達(dá)式為: VCf Co其中其中: : Cf為符號(hào)位產(chǎn)生的進(jìn)位為符號(hào)位產(chǎn)生的進(jìn)位, ,Co為最高有效位產(chǎn)生的為最高有效位產(chǎn)生的進(jìn)位。(進(jìn)位。(顯然:此邏輯關(guān)系可用異或門方便地實(shí)現(xiàn)顯然:此邏輯關(guān)系可用異或門方便地實(shí)現(xiàn))。)。 在定點(diǎn)機(jī)中,當(dāng)運(yùn)
51、算結(jié)果發(fā)生溢出時(shí)在定點(diǎn)機(jī)中,當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí), ,機(jī)器通過邏機(jī)器通過邏輯電路自動(dòng)檢查出溢出故障輯電路自動(dòng)檢查出溢出故障, ,并進(jìn)行中斷處理并進(jìn)行中斷處理。 二進(jìn)制加法二進(jìn)制加法/減法器減法器2.2.4 2.2.4 基本的二進(jìn)制加法基本的二進(jìn)制加法/ /減法器減法器 兩個(gè)二進(jìn)制數(shù)字兩個(gè)二進(jìn)制數(shù)字Ai,Bi和一個(gè)進(jìn)位輸入和一個(gè)進(jìn)位輸入Ci相加相加,產(chǎn)生一個(gè)產(chǎn)生一個(gè)和輸出和輸出Si,以及一個(gè)以及一個(gè)進(jìn)位輸出進(jìn)位輸出Ci1。 表表2.2中列出一位全加器進(jìn)行加法運(yùn)算的中列出一位全加器進(jìn)行加法運(yùn)算的輸入輸出真值表。輸入輸出真值表。 根據(jù)表根據(jù)表2.2所示的真值表所示的真值表,三個(gè)輸入端三個(gè)輸入端和兩個(gè)
52、輸出端可按如下邏輯方程進(jìn)行聯(lián)系:和兩個(gè)輸出端可按如下邏輯方程進(jìn)行聯(lián)系: SiAi Bi Ci Ci1AiBiBiCiCiAi1111110011101010100110110010100110000000C Ci i1 1S Si iC Ci iB Bi iA Ai i輸出輸入表表2.2 一位全加器真值表一位全加器真值表(2.23)二進(jìn)制加法二進(jìn)制加法/減法器減法器按表達(dá)式按表達(dá)式(2.23)組成的一位全加器(組成的一位全加器(FA)示意圖)示意圖2.2(b)對(duì)一位全加器對(duì)一位全加器(FA)來說來說,Si的時(shí)間延遲為的時(shí)間延遲為6T(每級(jí)異或門延遲每級(jí)異或門延遲3T),Ci1的時(shí)間延遲為的時(shí)間
53、延遲為5T,其中其中T被定義為相應(yīng)于單級(jí)邏輯被定義為相應(yīng)于單級(jí)邏輯電路的單位門延遲。電路的單位門延遲。T通常通常采用一個(gè)采用一個(gè)“與非與非”門或一個(gè)門或一個(gè)“或非或非”門的時(shí)間延遲來門的時(shí)間延遲來作為度量單位。作為度量單位。3T+3T3T+T+T二進(jìn)制加法二進(jìn)制加法/減法器減法器 教材第教材第3535頁圖頁圖2.2(a)2.2(a)示出了補(bǔ)碼運(yùn)算的二進(jìn)制加法示出了補(bǔ)碼運(yùn)算的二進(jìn)制加法/ /減法器減法器的邏輯結(jié)構(gòu)圖。由圖看到的邏輯結(jié)構(gòu)圖。由圖看到, ,n n個(gè)個(gè)1 1位的全加器位的全加器(FA)(FA)可級(jí)聯(lián)成一個(gè)可級(jí)聯(lián)成一個(gè)n n位的行波進(jìn)位加減器。位的行波進(jìn)位加減器。M M為方式控制輸入線為
54、方式控制輸入線, ,當(dāng)當(dāng)M M0 0時(shí)時(shí), ,作作加法加法(A(AB)B)運(yùn)算;運(yùn)算;當(dāng)當(dāng)M M1 1時(shí)時(shí), ,作作減法減法A AB B運(yùn)算運(yùn)算, ,在后一種情況下在后一種情況下,A,A補(bǔ)補(bǔ)BB補(bǔ)補(bǔ)運(yùn)算轉(zhuǎn)化成運(yùn)算轉(zhuǎn)化成AA補(bǔ)補(bǔ) BB補(bǔ)補(bǔ)運(yùn)算運(yùn)算, ,求補(bǔ)過程由求補(bǔ)過程由B B1 1來實(shí)現(xiàn)。來實(shí)現(xiàn)。因此因此, ,圖中最右邊的全加器的起始進(jìn)位輸入端被連接到功能方式圖中最右邊的全加器的起始進(jìn)位輸入端被連接到功能方式線線M M上上, ,作減法時(shí)作減法時(shí)M M1,1,相當(dāng)于在加法器的最低位上加相當(dāng)于在加法器的最低位上加1 1。另外。另外, ,圖圖中左邊還表示出單符號(hào)位法的溢出檢測邏輯;當(dāng)中左邊還表示出單
55、符號(hào)位法的溢出檢測邏輯;當(dāng)C Cn nC Cn n1 1時(shí)時(shí), ,運(yùn)運(yùn)算無溢出;而當(dāng)算無溢出;而當(dāng)C Cn nCCn n1 1時(shí)時(shí), ,運(yùn)算有溢出運(yùn)算有溢出, ,經(jīng)異或門產(chǎn)生經(jīng)異或門產(chǎn)生溢出溢出信號(hào)。信號(hào)。 電路示意圖電路示意圖二進(jìn)制加法二進(jìn)制加法/減法器減法器二進(jìn)制加法二進(jìn)制加法/減法器減法器現(xiàn)在我們計(jì)算一個(gè)現(xiàn)在我們計(jì)算一個(gè)n n位的行波進(jìn)位加法器的時(shí)間延遲。位的行波進(jìn)位加法器的時(shí)間延遲。( (見書見書P35-36P35-36) 假如采用假如采用圖圖2.2(a)2.2(a)所示的一位全加器并考慮溢出檢測所示的一位全加器并考慮溢出檢測, ,那么那么n n位位行波進(jìn)位加法器的延遲時(shí)間行波進(jìn)位加法
56、器的延遲時(shí)間t ta a為為: : t ta an n2 2T T9 9T T (2(2n n9)9)T T ( (2.242.24) )9T9T為為最低位上的兩級(jí)最低位上的兩級(jí)“異或異或”門;再加上溢出門;再加上溢出“異或異或”門(門(3T3T), ,2T2T為每級(jí)進(jìn)位鏈的延遲時(shí)間。為每級(jí)進(jìn)位鏈的延遲時(shí)間。當(dāng)不考慮溢出檢測時(shí)當(dāng)不考慮溢出檢測時(shí),有,有t ta a( (n-1)n-1)2 2T T9 9T T ( (2.252.25) ) t ta a意味著加法器的輸入端輸入加數(shù)和被加數(shù)后意味著加法器的輸入端輸入加數(shù)和被加數(shù)后, ,在最壞情況下在最壞情況下加法器輸出端得到穩(wěn)定的求和輸出所需的最
57、長時(shí)間。顯然這個(gè)時(shí)加法器輸出端得到穩(wěn)定的求和輸出所需的最長時(shí)間。顯然這個(gè)時(shí)間越小越好。注意間越小越好。注意, ,加數(shù)、被加數(shù)、進(jìn)位與和數(shù)都是用電平來表示加數(shù)、被加數(shù)、進(jìn)位與和數(shù)都是用電平來表示的的, ,因此因此, ,所謂穩(wěn)定的求和輸出所謂穩(wěn)定的求和輸出, ,就是指穩(wěn)定的電平輸出。就是指穩(wěn)定的電平輸出。(CAICAI演示演示)二進(jìn)制加法二進(jìn)制加法/減法器減法器延遲時(shí)間延遲時(shí)間t ta a為為: : 2T2T延遲時(shí)間延遲時(shí)間t ta a為為: : 3T3T考慮溢出檢測時(shí)考慮溢出檢測時(shí),延遲時(shí)間延遲時(shí)間t ta a為為: : t ta an n2 2T T9 9T T (2(2n n9)9)T T當(dāng)
58、不考慮溢出檢測時(shí)當(dāng)不考慮溢出檢測時(shí),有:,有: t ta a( (n-1)n-1)2 2T T9 9T T十進(jìn)制加法器十進(jìn)制加法器2.2.5 十進(jìn)制加法器十進(jìn)制加法器 十進(jìn)制加法器可由十進(jìn)制加法器可由BCD碼碼( (二二十進(jìn)制碼十進(jìn)制碼)來設(shè)計(jì)來設(shè)計(jì),它它可以在二進(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)目梢栽诙M(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)摹靶UU边壿媮磉壿媮韺?shí)現(xiàn)實(shí)現(xiàn),該校正邏輯可將二進(jìn)制的該校正邏輯可將二進(jìn)制的“和和”改變成所要求的十改變成所要求的十進(jìn)制格式。進(jìn)制格式。 n位位BCD碼行波式進(jìn)位加法器的一般結(jié)構(gòu)如圖碼行波式進(jìn)位加法器的一般結(jié)構(gòu)如圖2.3(a)所示所示,它由它由n級(jí)組成級(jí)組成,每一級(jí)將一
59、對(duì)每一級(jí)將一對(duì)4位的位的BCD數(shù)字相加數(shù)字相加,并并通過一位進(jìn)位線與其相鄰級(jí)連接。而每一位十進(jìn)制數(shù)字通過一位進(jìn)位線與其相鄰級(jí)連接。而每一位十進(jìn)制數(shù)字的的BCD加法器單元的邏輯結(jié)構(gòu)示于圖加法器單元的邏輯結(jié)構(gòu)示于圖2.3(b)。( (見書見書P36P36) 四位二進(jìn)制數(shù)表示十進(jìn)制數(shù)四位二進(jìn)制數(shù)表示十進(jìn)制數(shù)的一位(的一位(0-90-9),即數(shù)據(jù)范),即數(shù)據(jù)范圍:圍1001十進(jìn)制加法器十進(jìn)制加法器例:設(shè)例:設(shè) Xi= 0110= (6)10 Yi= 0111= (7)10 則:則:Si = Xi+ Yi= 0110+0111 = 1101= (13)10 十位數(shù):十位數(shù):
60、1 個(gè)位數(shù):個(gè)位數(shù): 3 對(duì)對(duì)Si進(jìn)行進(jìn)行“加加6校正校正”后:后: Si = Si+6=1101+0110=1 0011 13 Si9的情況的情況:Si = 1010, 1011,1100,1101,1110,1111. 當(dāng)當(dāng)Si9時(shí),要求:時(shí),要求: (1). 產(chǎn)生向高位的進(jìn)位信號(hào)產(chǎn)生向高位的進(jìn)位信號(hào)Ci+1 ; (2). 對(duì)對(duì)Si進(jìn)行進(jìn)行“+6”校正,得出本位的十進(jìn)制數(shù)值。校正,得出本位的十進(jìn)制數(shù)值。實(shí)現(xiàn):實(shí)現(xiàn):(6)10 +(7)10 進(jìn)位進(jìn)位十進(jìn)制加法器十進(jìn)制加法器該位的和該位的和十進(jìn)制加法的校正十進(jìn)制加法的校正十進(jìn)制加法器十進(jìn)制加法器 在十進(jìn)制運(yùn)算時(shí)在十進(jìn)制運(yùn)算時(shí), ,當(dāng)相加二數(shù)之和大于當(dāng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級(jí)財(cái)務(wù)會(huì)計(jì)知到課后答案智慧樹章節(jié)測試答案2025年春菏澤學(xué)院
- 塔里木職業(yè)技術(shù)學(xué)院《景觀設(shè)計(jì)4》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江省七臺(tái)河市茄子河區(qū)2025年數(shù)學(xué)三下期末檢測模擬試題含解析
- 陜西國際商貿(mào)學(xué)院《視頻內(nèi)容傳達(dá)》2023-2024學(xué)年第二學(xué)期期末試卷
- 贛州職業(yè)技術(shù)學(xué)院《住宅空間設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧大學(xué)《地球概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘孜職業(yè)學(xué)院《藥用高分子材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安工程大學(xué)《工程水文》2023-2024學(xué)年第一學(xué)期期末試卷
- 昭通市威信縣2025年小升初數(shù)學(xué)模擬試卷含解析
- 溫州商學(xué)院《語料庫實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 電機(jī)制造工廠布局
- 人教版二年級(jí)下冊(cè)計(jì)算題100道及答案
- 2023初中七年級(jí)全體育教案(共36課)
- 【工商管理專業(yè)畢業(yè)綜合訓(xùn)練報(bào)告2600字(論文)】
- 附睪炎的護(hù)理查房
- 新形勢(shì)下加強(qiáng)邊疆民族地區(qū)國防教育的思考
- 2024年同等學(xué)力申碩-同等學(xué)力(新聞傳播學(xué))歷年考試高頻考點(diǎn)試題附帶答案
- 《小學(xué)數(shù)學(xué)課程標(biāo)準(zhǔn)與教材教學(xué)研究》課件 12圖形的運(yùn)動(dòng)
- INSAR技術(shù)在城市地面沉降監(jiān)測中的應(yīng)用
- 【人力資源管理工具】員工獎(jiǎng)懲審批表(表格版)
- 商事糾紛解決的法律框架
評(píng)論
0/150
提交評(píng)論