版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 運算方法和運算部件,第二章 運算方法和運算部件,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換 2.2帶符號的二進(jìn)制數(shù)據(jù)在計算機(jī)中的表示方法及加減法運算 2.3 二進(jìn)制乘法運算 2.4 二進(jìn)制除法運算 2.5 浮點數(shù)的運算方法 2.6 運算部件 2.7 數(shù)據(jù)校驗碼,1.二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制的概念、表示及互換。 2.什么是真值?什么是機(jī)器數(shù)?機(jī)器數(shù)的正負(fù)如何表示? 2.什么是BCD碼? 4.什么是有權(quán)碼?什么是無權(quán)碼?常見的無權(quán)碼有哪幾種? 5.數(shù)字串在計算機(jī)有哪幾種表示方法?各有什么特點?,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,2.1.1 數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換, 數(shù)制
2、,任意一個十進(jìn)制數(shù)(N)10可表示為:,任意一個八進(jìn)制數(shù)可表示為:,任意一個二進(jìn)制數(shù)可表示為,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,2.1.1 數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換, 數(shù)制,任意一個十六進(jìn)制數(shù)可表示為:,二、八、十六和十進(jìn)制數(shù)的對應(yīng)關(guān)系,二進(jìn)制數(shù) 八進(jìn)制數(shù) 十六進(jìn)制數(shù) 十進(jìn)制數(shù),0 0 0 0 0 0 0 0,0 0 0 1 0 1 1 1,0 0 1 0 0 2 2 2,0 0 1 1 0 3 3 3,0 1 0 0 0 4 4 4,0 1 0 1 0 5 5 5,0 1 1 0 0 6 6 6,0 1 1 1 0 7 7 7,1 0 0 0 1 0 8 8,1 0 0 1 1 1 9 9,1 0
3、 1 0 1 2 A 1 0,1 0 1 1 1 3 B 1 1,1 1 0 0 1 4 C 1 2,1 1 0 1 1 5 D 1 3,1 1 1 0 1 6 E 1 4,1 1 1 1 1 7 F 1 5,不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換,二進(jìn)制數(shù)或十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),方法:按權(quán)展開,十進(jìn)制整數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù),整數(shù)部分轉(zhuǎn)換:用除法 十進(jìn)制數(shù)整數(shù)部分不斷除以基數(shù)2或16,并記下余數(shù),直到商為0為止 由最后一個余數(shù)起逆向取各個余數(shù),則為轉(zhuǎn)換成的二進(jìn)制和十六進(jìn)制數(shù),2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,2.1.1 數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,2.1.1 數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換,
4、不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換,十進(jìn)制小數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù),小數(shù)部分轉(zhuǎn)換:用乘法 分別乘以各自的基數(shù),記錄整數(shù)部分,直到小數(shù)部分為0為止 小數(shù)轉(zhuǎn)換會發(fā)生總是無法乘到為0的情況 可選取一定位數(shù)(精度) 將產(chǎn)生無法避免的轉(zhuǎn)換誤差,2.1.2 十進(jìn)制數(shù)的編碼與運算, 有權(quán)碼:表示一位十進(jìn)制數(shù)的二進(jìn)制碼,其每一 位有確定的權(quán)。(BCD碼), 十進(jìn)制數(shù)的編碼與運算,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,二進(jìn)制數(shù),自然碼,8421碼,2421碼,5421碼,四位有權(quán)碼,5211碼,0,1,2,3,4,5,6,7,8,9, 無權(quán)碼: 表示一位十進(jìn)制數(shù)的二進(jìn)制碼,其每一 位沒有確定的權(quán)。,0 1 2 3 4 5 6 7 8
5、 9,0011 0100 0101 0110 0111 1000 1001 1010 1011 1100,0000 0001 0011 0010 0110 1110 1010 1000 1100 0100,0000 0100 0110 0010 1010 1011 0011 0001 1001 1000,2.1.2 十進(jìn)制數(shù)的編碼與運算, 十進(jìn)制數(shù)的編碼與運算, 數(shù)字串在計算機(jī)內(nèi)的表示與存儲,主要有兩種形式:, 字符形式:一個字節(jié)存放一位十進(jìn)制數(shù)或符號位。, 壓縮的十進(jìn)制數(shù)形式:一個字節(jié)存放二位十進(jìn)制數(shù)。,2.1.2 十進(jìn)制數(shù)的編碼與運算,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,十進(jìn)制數(shù)串的表示方法,1
6、.字符串形式 每個十進(jìn)制的數(shù)位或符號位都用一個字節(jié)存放,-38,2.壓縮的十進(jìn)制數(shù)串形式 一個字節(jié)存放兩個十進(jìn)制的數(shù)位,+12,123,-12,每個數(shù)位可用BCD碼或ASCII碼,2.1.2 十進(jìn)制數(shù)的編碼與運算,ASCII碼 漢字的表示,2.1.2 字符編碼,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換, ASCII碼,“美國標(biāo)準(zhǔn)信息交換代碼”(American Standard Code for Information Interchange),簡稱ASCII碼。7位二進(jìn)制編碼,可表示27=128個字符。 ASCII碼中,編碼值031不對應(yīng)任何可印刷(或稱有字形)字符,通常稱它們?yōu)榭刂谱址?,用于通信中的?/p>
7、信控制或?qū)τ嬎銠C(jī)設(shè)備的功能控制。編碼值為32的是空格(或間隔)字符SP。編碼值為127的是刪除控制DEL碼。其余的94個字符稱為可印刷字符。,2.1.2 字符編碼,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,ASCII字符編碼表,0-3位,4-7位,漢字的表示,特點: (1)漢字是一種象形文字,據(jù)統(tǒng)計,從甲骨文至今約有六萬左右的漢字。目前常見的漢字有約七千個。 (2)漢字字形結(jié)構(gòu)復(fù)雜,筆劃繁多。 (3)漢字同音字多,多音字多。 涉及多種編碼:,2.1.2 字符編碼,2.1 數(shù)據(jù)的表示方法和轉(zhuǎn)換,漢字的輸入編碼,數(shù)字編碼 國標(biāo)區(qū)位碼,用數(shù)字串代表一個漢字輸入 字音編碼 以漢字拼音為基礎(chǔ)的輸入方法 字形編碼 用
8、漢字的形狀(筆劃)來進(jìn)行的編碼 例如五筆字形 混合編碼,漢字交換碼,漢字交換碼是不同的漢字處理系統(tǒng)之間交換信息用的編碼,漢字內(nèi)碼,漢字內(nèi)碼是用于漢字信息的存儲、檢索等操作的機(jī)內(nèi)代碼,一般采用兩個字節(jié)表示 漢字內(nèi)碼有多種方案,常以國標(biāo)碼為基礎(chǔ)的編碼 例如,將國標(biāo)碼兩字節(jié)的最高位置1后形成 漢字“啊”的國標(biāo)碼 3021H (0011 0000 0010 0001) 對應(yīng)的漢字內(nèi)碼 B0A1H (1011 0000 1010 0001),字模碼,漢字的字模碼為: 16位 16位=32字節(jié),漢字字模點陣及編碼,漢字的表示方法,漢字的輸入編碼、交換碼、漢字內(nèi)碼、字模碼是計算機(jī)中用于輸入、內(nèi)部處理、交換、
9、輸出四種不同用途的編碼。,字符代碼化(輸入),2.2.1 無符號數(shù)和帶符號數(shù),8 位 0 255,16 位 0 65535,2.2 帶符號數(shù)的表示方法及加減法運算,無符號數(shù),帶符號的數(shù) 符號數(shù)字化的數(shù),+ 0.1011,+ 1100, 1100, 0.1011,真值 機(jī)器數(shù),6.1,2.2.1 無符號數(shù)和帶符號數(shù),2.2 帶符號數(shù)的表示方法及加減法運算,帶符號數(shù),2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,原碼表示法,規(guī)則:機(jī)器數(shù)的最高一位表示符號,“0”表示正號;“1”表示負(fù)號,后面各位用數(shù)的絕對值表示。,定點整數(shù)的原碼形式為x0 x1x2 xn,+0原 =0
10、0000000 -0原 =10000000,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,原碼表示法,定點小數(shù)的原碼形式為x0.x1x2 xn,+0原 = 0.00 -0原 = 1.00,原碼表示的優(yōu)缺點 優(yōu)點:數(shù)的原碼與真值之間的關(guān)系比較簡單。 缺點:在機(jī)器中進(jìn)行加減法運算的規(guī)則比較復(fù)雜。 兩數(shù)相加時,同號:數(shù)值相加 異號:相減 相減時,要比較絕對值大小,然后大數(shù)減小數(shù),最后還要選擇恰當(dāng)?shù)姆枴?2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,原碼表示法,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,補(bǔ)碼
11、表示法,整數(shù)的補(bǔ)碼 X補(bǔ)為整數(shù)X的補(bǔ)碼,X為任意整數(shù),n為整數(shù)的位數(shù)。 小數(shù)的補(bǔ)碼: X補(bǔ)是小數(shù)X的補(bǔ)碼,X為任意小數(shù),2為模數(shù)。,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,補(bǔ)碼表示法,X1補(bǔ)= +0.0000補(bǔ)=0.0000 X2補(bǔ)= -0.0000補(bǔ)=10.0000-0.0000=10.0000=0.0000 mod 2,結(jié)論:數(shù)值0的補(bǔ)碼表示形式中唯一的。,X=+0.1011, X補(bǔ)=0.1011 X=-0.1011, X補(bǔ)=2+X=10.0000+(-0.1011)=1.0101,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移
12、碼,補(bǔ)碼表示法,當(dāng)補(bǔ)碼加法運算的結(jié)果不超出機(jī)器范圍時,可得出以下重要結(jié)論: 用補(bǔ)碼表示的兩數(shù)進(jìn)行加法運算,其結(jié)果仍為補(bǔ)碼。 不管各數(shù)符號如何,都可用補(bǔ)碼直接進(jìn)行加法運算。 X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) 符號位與數(shù)值位一樣參與運算,變減法為加法。 X-Y補(bǔ)=X補(bǔ)+-Y補(bǔ),2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,補(bǔ)碼表示法,若寄存器A、B分別保存了X補(bǔ)、Y補(bǔ),要求: 描述加法器實現(xiàn)X+Y補(bǔ)A的過程? 描述加法器實現(xiàn)X-Y補(bǔ)A的過程?,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,反碼表示法,小數(shù)的反碼:,整數(shù)的反碼:,2.2 帶符號數(shù)的表示
13、方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,反碼表示法,0的反碼不唯一: 整數(shù)0 +0反= 000 -0反= (2n+1-1) + (-000) = 111 (mod 2n+1-1 ) 小數(shù)0 +0反= 0.000 -0反= 2 - 2-n - 0.000 = 1.11 (mod 2-2-n),數(shù)據(jù)從補(bǔ)碼、反碼表示形式轉(zhuǎn)換成原碼 (1)X補(bǔ)補(bǔ)=X原 (2)X反反=X原,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,三種機(jī)器數(shù)的小結(jié),對于正數(shù),原碼 = 補(bǔ)碼 = 反碼,例:設(shè)機(jī)器數(shù)字長為 8 位(其中一位為符號位) 對于整數(shù),當(dāng)其分別代表無符號數(shù)、原碼、補(bǔ)
14、碼和 反碼時,對應(yīng)的真值范圍各為多少?,-0,-1,-128,-127,-127,-126,-3,-2,-1,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,移碼表示法,x 為真值,n 為 整數(shù)的位數(shù),移碼在數(shù)軸上的表示,即無論x是正還是負(fù),一律加上2n,稱2n為基數(shù),2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,移碼表示法,移碼與補(bǔ)碼的關(guān)系:,真值是正數(shù)時,移碼是補(bǔ)碼的最高位加1;真值是負(fù)數(shù)時,移碼是補(bǔ)碼的最高位減1。,設(shè) x = +1100100,x移 = 27 + 1100100,x補(bǔ) = 01100100,設(shè) x = 11001
15、00,x移 = 27 1100100,x補(bǔ) = 10011100,= 11100100,= 00011100,1,0,0,1,2.1.5 數(shù)的機(jī)器表示,移碼表示法,0的移碼唯一: 整數(shù)0 +0移= 2n + 000 = 1000 -0移= 2n - 000 = 1000,用移碼表示浮點數(shù)的階碼,能方便地判斷浮點數(shù)的階碼大小,2.1 數(shù)據(jù)與文字的表示方法,2.2 帶符號數(shù)的表示方法及加減法運算,真值、補(bǔ)碼和移碼的對照表,- 1 0 0 0 0 0, 0 0 0 0 0,+ 1 1 1 1 1,0 0 0 0 0 0,1 1 1 1 1 1,0 0 0 0 0 0,1 0 0 0 0 0,2.2
16、帶符號數(shù)的表示方法及加減法運算,移碼的計算,對于n+1位的二進(jìn)制整數(shù)X=X0X1X2.Xn,移碼定義為:,X移2n +X -2n X2n,例:設(shè)n=4,X=1010、Y=-1010,求:X移=?Y移=?,解: X移=2n+X= 24+1010=10000101011010 Y移=2n+Y= 24+(-1010)=10000-1010=00110,2.2.2 原碼、補(bǔ)碼、反碼、移碼,2.2 帶符號數(shù)的表示方法及加減法運算,移碼的計算,例:設(shè)n=4,X=0010、Y=0101,求:X+Y移=? 解:本題中?。?X+Y=0010+0101=0111 X+Y移=2n+(X+Y)= 24+0111=10
17、111,X+Y移=Y移+X移+ 2n,若采用移碼進(jìn)行加法運算,怎樣才能得到正確的X+Y移? X移=2n+X= 24+0010=10010 Y移=2n+Y= 24+0101=10101 Y移+X移=10010+ 10101= 00111 X+Y移=Y移+X移+ 2n=00111+10000=10111,2.2.2 原碼、補(bǔ)碼、反碼、移碼,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.2 原碼、補(bǔ)碼、反碼、移碼,正數(shù)的原碼、反碼、補(bǔ)碼等于真值,只有負(fù)數(shù)才分別有不同的表示方法 采用補(bǔ)碼,減法運算可以用加法運算實現(xiàn),節(jié)省硬件,目前機(jī)器中廣泛采用補(bǔ)碼表示法 有些機(jī)器用原碼進(jìn)行存儲和傳送,運算時改用補(bǔ)碼
18、 有些機(jī)器做加減法時用補(bǔ)碼,做乘除法時用原碼 移碼表示法主要用于表示浮點數(shù)的階碼,可以直接比較大小。表示范圍和補(bǔ)碼相同,只有最高位相反,總結(jié),2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,加減運算,補(bǔ)碼加法運算的公式: x補(bǔ)+y補(bǔ)= + 補(bǔ),補(bǔ)碼減法運算的公式: -補(bǔ) x補(bǔ)-y補(bǔ)x補(bǔ) -y補(bǔ),例:0.1001,0.0101,求,x 補(bǔ)0.1001,y 補(bǔ)0.0101 x 補(bǔ) 0.1001 y 補(bǔ) 0.0101 + 補(bǔ) 0.1110 所以0.1110,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,加減運算,2.2 帶符號數(shù)的
19、表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,加減運算,例:+0.1101,+0.0110,求-,x補(bǔ)0.1101, y補(bǔ)0.0110 -y補(bǔ)1.1010 x 補(bǔ) 0.1101 -y 補(bǔ) 1.1010 - 補(bǔ) 10.0111 所以0.0111,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,加減運算,A=10 B=7 10+7 : 0 1010,0 0111,1 0001,A= -10 B= -7 -10+(-7):,0 1111,1 0110 1 1001,溢出!,例:,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其
20、溢出的處理,溢出的處理,1、 什么是溢出? 當(dāng)運算結(jié)果超出機(jī)器數(shù)所能表示的范圍時,稱為溢出。 兩個異號數(shù)相加或兩個同號數(shù)相減,其結(jié)果是不會溢出的。僅當(dāng)兩個同號數(shù)相加或者兩個異號數(shù)相減時,才有可能發(fā)生溢出的情況。,兩個正數(shù)相加,結(jié)果為負(fù)稱為上溢(正溢)。 兩個負(fù)數(shù)相加,結(jié)果為正稱為下溢(負(fù)溢)。,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,溢出的處理,A=10 B=7 10+7 : 0 1010,0 0111,1 0001,A= -10 B= -7 -10+(-7):,0 1111,1 0110 1 1001,溢出!,正溢,負(fù)溢,例:,2.2 帶符號數(shù)的表示
21、方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,溢出的處理,2、溢出條件及實現(xiàn)邏輯,方法一:fA,fB表示兩操作數(shù)(A、B)的符號位,fS為結(jié)果的符號位。 若兩正數(shù)相加結(jié)果為負(fù)或兩負(fù)數(shù)相加結(jié)果為正,都有溢出產(chǎn)生。 即:,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,溢出的處理,方法二: 當(dāng)任意符號兩數(shù)相加時,如果CCf ,運算結(jié)果正確,其中C為數(shù)值最高位的進(jìn)位,Cf 為符號位的進(jìn)位。如果CCf ,則為溢出,即:,當(dāng)最高位和次高位不是同時產(chǎn)生進(jìn)位,則結(jié)果溢出。,正確,0 0011 0 0010,(1)A=3 B=2 3+2:,0 0101,(2)A
22、=10 B=7 10+7:,0 1010 0 0111,1 0001,正溢,正確,負(fù)溢,正確,正確,(3)A= -3 B= -2 -3+(-2):,1 1011,1 1101 1 1110,(4)A= -10 B= -7 -10+(-7):,0 1111,1 0110 1 1001,(5)A=6 B= -4 6+(-4):,0 0010,0 0110 1 1100,(6)A= -6 B=4 -6+4:,1 1110,1 1010 0 0100,Cf=0 C =0,Cf=0 C =1,Cf=1 C =1,Cf=1 C =0,Cf=1 C =1,Cf=0 C =0,1,1,1,1,1,1,2.2
23、帶符號數(shù)的表示方法及加減法運算,2.2.3 補(bǔ)碼的加減運算及其溢出的處理,溢出的處理,方法三: 采用雙符號位fS2 ,fS1 。正數(shù)的雙符號位為00,負(fù)數(shù)的雙符號位為11。符號位參與運算,當(dāng)結(jié)果的兩個符號位fS1 、fS2 不相同時,為溢出。即:,fs2fs1 : 00結(jié)果為正,無溢出 01正溢 10負(fù)溢 11結(jié)果為負(fù),無溢出 不論溢出與否,結(jié)果符號為fs2.,(1)3+2:,正確,00 0011 00 0010,00 0101,(4)10+7:,00 1010 00 0111,01 0001,正溢,正確,負(fù)溢,正確,正確,(2)-3+(-2):,11 0111,11 1101 11 1110
24、,(5)-10+(-7):,10 1111,11 0110 11 1001,(3)6+(-4):,00 0010,00 0110 11 1100,(6)-6+4:,11 1110,11 1010 00 0100,第一符號位fs2,第一符號位fs2,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,全加器,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,全加器,全加器的表達(dá)式為: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器內(nèi)部邏輯圖:,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,串行進(jìn)位加法器
25、,2.2 帶符號數(shù)的表示方法及加減法運算,串行進(jìn)位加法器,如何提高加法器工作速度呢?,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,先行進(jìn)位加法器,超前進(jìn)位的主要目標(biāo): 使C1、C2、C3、C4同時產(chǎn)生而不是依次產(chǎn)生。 如何使C1、C2、C3、C4同時產(chǎn)生?,4位先行進(jìn)位加法器遞推公式,當(dāng)全加器的輸入均取反碼時,它的輸出也均取反碼。 將上式改寫成如下:,4位先行進(jìn)位加法器遞推公式,四位超前進(jìn)位加法器的邏輯圖,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,ALU74181,功能表能執(zhí)行16種算術(shù)、16種邏輯運算,2.2 帶符號數(shù)的表示方法及加減法運算,2.
26、2.4 二進(jìn)制加法器,ALU74181,輸入/輸出信號: A0A3、B0B3: 參加運算的兩個數(shù) S0S3 : 選擇控制端-選擇不同的算術(shù)和邏輯運算 M : 狀態(tài)控制端,為高電平執(zhí)行邏輯運算;為低電 平執(zhí)行算術(shù)運算 Cn :ALU的最低進(jìn)位位 F0F3:ALU的運算結(jié)果 Cn+4 :ALU最高位產(chǎn)生的進(jìn)位 G、P :ALU的進(jìn)位產(chǎn)生與傳遞,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,ALU74181,用4片74181電路可組成16位ALU,片內(nèi)進(jìn)位快速,但片間進(jìn)位是逐片傳遞的,由此形成F0F15的時間還是比較長。,若把16位ALU中的每四位作為一組,用位間快速進(jìn)位的形成方
27、法來實現(xiàn)16位ALU中“組間快速進(jìn)位”,那么就能得到16位快速ALU。,2.2 帶符號數(shù)的表示方法及加減法運算,2.2.4 二進(jìn)制加法器,ALU74181,74181: 實現(xiàn)算術(shù)邏輯運算及組內(nèi)并行。 74182:接收了組間的輔助函數(shù)后,產(chǎn)生組間的并行進(jìn)位 信號CIII 、CII 、CI,分別將其送到各小組的加法器上。,2.3 定點乘法運算,2.3.1 定點原碼一位乘法,分析筆算乘法,A = 0.1101 B = 0.1011,AB = 0.10001111,0 . 1 1 0 1,0 . 1 0 1 1,1 1 0 1,1 1 0 1,0 0 0 0,1 1 0 1,0 . 1 0 0 0 1
28、 1 1 1,符號位單獨處理,乘數(shù)的某一位決定是否加被乘數(shù),4個位積一起相加,乘積的位數(shù)擴(kuò)大一倍,?,筆算乘法改進(jìn),A B = A 0.1011,= 0.1A + 0.00A + 0.001A +0.0001A,= 0.1A + 0.00A + 0.001( A +0.1A),= 0.1A + 0.010 A + 0. 1( A +0.1A),= 0.1A +0.1 0 A+0.1(A + 0.1A),= 2-1A +2-1 0 A+2-1(A + 2-1(A+0),第一步 被乘數(shù)A + 0,第三步 部分積 + 被乘數(shù),改進(jìn)后的筆算乘法過程(豎式),0 . 0 0 0 0,0 . 1 1 0
29、1,0 . 1 1 0 1,0 . 1 1 0 1,0 . 0 0 0 0,0 . 1 1 0 1,初態(tài),部分積 = 0,乘數(shù)為 1,加被乘數(shù),乘數(shù)為 1,加被乘數(shù),乘數(shù)為 0,加 0,乘數(shù)為 1,加 被乘數(shù),被乘數(shù)只與部分積的高位相加,硬件,3個寄存器,具有移位功能,一個全加器,2.3 定點乘法運算,2.3.1 定點原碼一位乘法,原碼一位乘運算規(guī)則,以小數(shù)為例,乘積的符號位單獨處理 x0y0,數(shù)值部分為絕對值相乘 x* y*,2.3 定點乘法運算,2.3.1 定點原碼一位乘法,原碼一位乘遞推公式,z0,例:,已知 x = 0.1110 y = 0.1101 求x y原,解:,數(shù)值部分的運算,
30、0 . 0 0 0 0,0 . 1 1 1 0,0 . 1 1 1 0,0 . 0 0 0 0,0 . 1 1 1 0,0 . 1 1 1 0,部分積 初態(tài) z0 = 0,邏輯右移,邏輯右移, 數(shù)值部分按絕對值相乘,x* y* = 0. 1 0 1 1 0 1 1 0,則 x y原 = 1. 1 0 1 1 0 1 1 0,特點:,絕對值運算,邏輯移位,用移位的次數(shù)判斷乘法是否結(jié)束,例:,已知 x = 0.1110 y = 0.1101 求x y原,2.3 定點乘法運算,2.3.1 定點原碼一位乘法,邏輯實現(xiàn),2.3 定點乘法運算,2.3.1 定點原碼一位乘法,邏輯實現(xiàn),2.3 定點乘法運算,
31、2.3.1 定點原碼一位乘法,工作原理: 乘法開始時,“啟動”信號使控制觸發(fā)器Cx置“1”,于是開啟時序脈沖T。 當(dāng)乘數(shù)寄存器R1最末位為“1”時,部分積Zi和被乘數(shù)X在加法器中相加,其結(jié)果輸出至R0的輸入端。 一旦打入控制脈沖T到來,控制信號LDR0使部分積右移一位,與此同時,R1也在控制信號LDR1作用下右移一位,且計數(shù)器i計數(shù)一次。 當(dāng)計數(shù)器i=n時,計數(shù)器的溢出信號使觸發(fā)器Cx置“0”,關(guān)閉時序脈沖T,乘法宣告結(jié)束。 若將R0和R1連接起來,乘法結(jié)束時乘積的高n位部分在R0,低n位部分在R1,R1中原來的乘數(shù)Y由于移位而全部丟失。,校正法,2.3 定點乘法運算,2.3.2 定點補(bǔ)碼一位
32、乘法,所謂校正法,將X補(bǔ)和Y補(bǔ)按原碼運算,所得結(jié)果 根據(jù)情況加以校正,從而得到XY補(bǔ)。 算法分析: 若被乘數(shù)X的符號任意X補(bǔ) = X0.X1X2Xn 1)Y為正:Y補(bǔ) = 0.Y1Y2Yn XY補(bǔ) = X補(bǔ)(0.Y1Y2Yn) 2)Y為負(fù):Y補(bǔ) = 1.Y1Y2Yn XY補(bǔ) = X補(bǔ)(0.Y1Y2Yn)+-X補(bǔ) 3)Y符號任意:XY補(bǔ) = X補(bǔ)0.Y1Y2Yn+-X補(bǔ)Y0,符號位,Y0,除按 1)計算外,另加-X補(bǔ)校正,直接按原碼乘法運算,移位時按補(bǔ)碼規(guī)則移位,例:X- 0.1101 Y=0.1011 X補(bǔ)1.0011 Y補(bǔ)0.1011 求XY補(bǔ),00 . 0 0 0 0,11 . 0 0 1
33、 1,11 . 0 0 1 1,11 . 0 0 1 1,00 . 0 0 0 0,11 . 0 0 1 1,初態(tài),部分積 = 0,乘數(shù)為 1,加被乘數(shù),乘數(shù)為 1,加被乘數(shù),乘數(shù)為 0,加 0,乘數(shù)為 1,加 被乘數(shù),XY補(bǔ)1. 01110001 XY= -0.10001111,例:X- 0.1101 Y= -0.1011 X補(bǔ)1.0011 Y補(bǔ)1.0101 求XY補(bǔ),00 . 0 0 0 0,11 . 0 0 1 1,11 . 0 0 1 1,00 . 0 0 0 0,11 . 0 0 1 1,00 . 0 0 0 0,初態(tài),部分積 = 0,乘數(shù)為 1,加被乘數(shù),乘數(shù)為 0,加0,乘數(shù)為1
34、,加被乘數(shù),乘數(shù)為 0,加 0,-X補(bǔ),得結(jié)果,XY補(bǔ)0.10001111,比較法(布斯公式被乘數(shù)、乘數(shù)符號任意),2.3 定點乘法運算,2.3.2 定點補(bǔ)碼一位乘法,x y補(bǔ),2-1,2-2,附加位 yn+1,比較法(布斯公式被乘數(shù)、乘數(shù)符號任意),2.3 定點乘法運算,2.3.2 定點補(bǔ)碼一位乘法,Booth 算法遞推公式,z0補(bǔ)= 0,z1補(bǔ)= 2-1(yn+1yn) x補(bǔ)+z0補(bǔ) yn+1 = 0,zn補(bǔ)= 2-1(y2y1)x補(bǔ)+zn-1補(bǔ),x y補(bǔ)= zn補(bǔ)+(y1y0)x補(bǔ),最后一步不移位,如何實現(xiàn) yi+1yi ?,0 0,0 1,1 0,1 1,0,1,-1,0,例:,已知
35、x = -0.1101 y = 0.1011 求xy補(bǔ),解:,0 0 . 0 0 0 0,0 0 . 1 1 0 1,0 0 . 1 1 0 1,0 0 . 0 0 0 0,1 1 . 0 0 1 1,0 0 . 1 1 0 1,1 1 . 0 0 1 1,0 . 1 0 1 1,0,x補(bǔ) = 11.0011,y補(bǔ) = 0.1011,x補(bǔ) = 00.1101,+x補(bǔ),+0,+x補(bǔ),+x補(bǔ),+-x補(bǔ), xy補(bǔ) =1.01110001 xy=-0.10001111,最后一步不移位,算法分析,2.3 定點乘法運算,2.3.3 定點原碼兩位乘法每次用兩位乘數(shù)去乘被乘數(shù),Pi+1=2-2Pi Pi+1=
36、2-2(Pi+X) Pi+1=2-2(Pi+2X) Pi+1=2-2(Pi+3X),X左移1位即得2X,如何實現(xiàn)+3X操作?,算法分析,2.3 定點乘法運算,2.3.3 定點原碼兩位乘法每次用兩位乘數(shù)去乘被乘數(shù),Pi+1=2-2(Pi+3X),4X-X,Pi+1=2-2(Pi+3X)=2-2(Pi+4X-X)=2-2(Pi-X)+X,運算規(guī)則,2.3 定點乘法運算,2.3.3 定點原碼兩位乘法每次用兩位乘數(shù)去乘被乘數(shù),例,已知 x = 0.100111 y = 0.100111 求xy原,0 0 0 . 0 0 0 0 0 0,0 0 0 . 1 0 0 1 1 1,1 1 1 . 0 1 1
37、 0 0 1,1 0 0 1 1 1,0,初態(tài) z0 = 0, x*, Cj = 1,0 0 1 . 0 0 1 1 1 0,+ 2x*,Cj = 0,0 0 1 . 0 0 1 1 1 0,+ 2x*, Cj = 0,1,0,0,補(bǔ)碼右移,補(bǔ)碼右移,解:,數(shù)值部分的運算, 數(shù)值部分的運算,x* y* = 0. 0 1 0 1 1 1 1 1 0 0 0 1,則 x y原 = 0. 0 1 0 1 1 1 1 1 0 0 0 1,例,特點:,絕對值的補(bǔ)碼運算,算術(shù)移位,用移位的次數(shù)判斷乘法是否結(jié)束,已知 x = 0.100111 y = 0.100111 求xy原,例,已知 x = 0.111
38、111 y = 0.111001 求xy原,0 0 0 . 0 0 0 0 0 0,0 0 0 . 1 1 1 1 1 1,0 0 0 . 1 1 1 1 1 1,1 1 1 0 0 1,0,初態(tài) z0 = 0,+ x*, Cj = 0,0 0 1 . 1 1 1 1 1 0,+ 2x*,Cj = 0,1 1 1 . 0 0 0 0 0 1, x*, Cj = 1,0 0 0 . 1 1 1 1 1 1,+ x*, Cj = 0,0,0,1,補(bǔ)碼右移,補(bǔ)碼右移,解:,數(shù)值部分的運算, 數(shù)值部分的運算,x* y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1,則 x y原 = 1.
39、1 1 1 0 0 0 0 0 0 1 1 1,例,已知 x = 0.111111 y = 0.111001 求xy原,特點:,絕對值的補(bǔ)碼運算,算術(shù)移位,用移位的次數(shù)判斷乘法是否結(jié)束,為了進(jìn)一步提高乘法運算的速度,可采用高速乘法模塊組成的陣列乘法器,設(shè)有兩個不帶符號的二進(jìn)制數(shù)。 例:m=n=4時,有: a4 a3 a2 a1 a0 * b4 b3 b2 b1 b0 - a4b0 a3b0 a2b0 a1b0 a0b0 a4b1 a3b1 a2b1 a1b1 a0b1 a4b2 a3b2 a2b2 a1b2 a0b2 a4b3 a3b3 a2b3 a1b3 a0b3 a4b4 a3b4 a2b
40、4 a1b4 a0b4,P8 P7 P6 P5 P4 P3 P2 P1 P0,2.3 定點乘法運算,2.3.4 陣列乘法器,2.3 定點乘法運算,2.3.4 陣列乘法器,2.3 定點乘法運算,2.3.4 陣列乘法器,不帶符號的陣列乘法器,2.3 定點乘法運算,2.3.4 陣列乘法器,帶符號的陣列乘法器,2.4 定點除法運算,2.4.1 定點原碼一位除法,分析筆算除法,x = 0.1011 y = 0.1101 求 xy,0 . 1 0 1 1,0 . 1 1 0 1,0 . 0 1 1 0 1,0 . 0 1 0 0 1,0 . 0 0 1 1 0 1,0 . 0 0 0 1 0 1,0 .
41、0 0 0 0 1 1 0 1,0 . 0 0 0 0 0 1 1 1,1,商符單獨處理,心算上商,商符心算求得,0,0 .,1,0,1,0,0,0,?,余數(shù)不動低位補(bǔ)“0” 減右移一位的除數(shù),上商位置不固定,?,?,筆算除法和機(jī)器除法的比較,商符單獨處理,心算上商,符號位異或形成,| x | | y | 0 上商 1,| x | | y | 0 上商 0,2 倍字長加法器,上商位置 不固定,1 倍字長加法器,在寄存器 最末位上商,2.4 定點除法運算,2.4.1 定點原碼一位除法,原碼除法,以小數(shù)為例,被除數(shù)不等于 0,除數(shù)不能為 0,約定,2.4 定點除法運算,2.4.1 定點原碼一位除法
42、,恢復(fù)余數(shù)法,0 . 1 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,0 . 0 0 0 0,+ y*補(bǔ),0.,0 . 1 1 0 1,恢復(fù)余數(shù),+ y*補(bǔ),+y*補(bǔ),解:,x原 = 1.1011 y原 = 1.1101,1,+y*補(bǔ),y*補(bǔ) = 0.1101 y*補(bǔ) = 1.0011,邏輯左移,邏輯左移,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,+ y*補(bǔ),恢復(fù)余數(shù),+ y*補(bǔ),上商 5 次,第一次上商判溢出,余數(shù)為正 上商 1,余數(shù)為負(fù) 上商 0,恢復(fù)余數(shù),移 4 次,1,0,1,+y*補(bǔ),邏輯左移,不恢復(fù)余數(shù)法(加減交
43、替法),余數(shù) Ri0 上商 “1”,Ri+1=2Ri y*,余數(shù) Ri0 上商 “0”, Ri + y* 恢復(fù)余數(shù),Ri+1=2( Ri+y*) y* = 2Ri + y*,加減交替,恢復(fù)余數(shù)法運算規(guī)則,不恢復(fù)余數(shù)法運算規(guī)則,上商“1” 2Ri y*,上商“0” 2Ri + y*,解:,例:,0 . 1 0 1 1,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,1 . 0 0 1 1,0 . 1 1 0 1,0 . 0 0 0 0,+ y*補(bǔ),0.,+y*補(bǔ),+ y*補(bǔ),+ y*補(bǔ),+y*補(bǔ),x原 = 1.1011,y*補(bǔ) = 0.1101,y*補(bǔ) = 1.0011,
44、y原 = 1.1101,1,1,0,1,邏輯左移,上商 n+1 次,特點:,用移位的次數(shù)判斷除法是否結(jié)束,第一次上商判溢出,移 n 次,加 n+1 次,例:,規(guī)則,2.4 定點除法運算,2.4.1 定點補(bǔ)碼一位除法,小 結(jié),簡 化 為,(同號),(異號),(異號),(同號), 商值的確定,商值的確定,2.4 定點除法運算,2.4.1 定點補(bǔ)碼一位除法,新余數(shù)的形成,加減交替,2.4 定點除法運算,2.4.2 定點補(bǔ)碼一位除法,例:,解:,x補(bǔ) = 1.0101 y補(bǔ) = 0.1101 y補(bǔ) = 1.0011,1 . 0 1 0 1,0 . 1 1 0 1,1 . 0 0 1 1,0 . 1 1
45、 0 1,0 . 1 1 0 1,0 . 0 0 0 0,異號做加法,1,0 . 0 0 1 0,同號上“1”,異號上“0”,+y補(bǔ),異號上“0”,+y補(bǔ),同號上“1”,末位恒置“1”,0,0,1,1,+y補(bǔ),邏輯左移,補(bǔ)碼除法共上商 n +1 次(末位恒置 1) 第一次為商符,加 n 次 移 n 次,第一次商可判溢出,精度誤差最大為 2-n,小結(jié),2.4 定點除法運算,2.4.2 定點補(bǔ)碼一位除法,2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),浮點數(shù): 是指小數(shù)點可浮動的數(shù)據(jù)。,任意一個十進(jìn)制數(shù)N可以寫成:,一個任意進(jìn)制數(shù)N可以寫成:,其中:N為浮點數(shù);M為浮點的尾數(shù)(純小數(shù)) E為階碼(浮點指
46、數(shù),整數(shù)); R尾數(shù)的基數(shù)(常數(shù),一般為2、8、16),定義,計算機(jī)中數(shù)據(jù)的數(shù)值范圍和精度,數(shù)值范圍是指機(jī)器所能表示的一個數(shù)的最大值和最小值之間的范圍。,數(shù)據(jù)精度是指一個數(shù)的有效位數(shù)。,2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),規(guī)格化,為了在尾數(shù)中表示最多的有效數(shù)據(jù)位,同時使浮點數(shù)具有唯一的表示形式,尾數(shù)應(yīng)當(dāng)采用規(guī)格化表示方法,即尾數(shù)用純小數(shù)形式給出,而且尾數(shù)絕對值應(yīng)大于1/R,即小數(shù)點后第一位不為0。,規(guī)格化后正尾數(shù)的形式為:0.1XXXX 負(fù)尾數(shù)的形式為:1.0XXXX,2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),規(guī)格化,對于非規(guī)格化浮點數(shù),進(jìn)行規(guī)格
47、化形式,其方式:將尾數(shù)M左移或右移,并修改階碼值。尾數(shù)左移1位,階碼值減1;尾數(shù)右移1位,階碼值加1。,例:將0.0011和-0.0011規(guī)格化表示。,解:0.0011=0.001120=0.1100 20-2 -0.0011補(bǔ)=1.1101 -0.0011的浮點表示為:,2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),規(guī)格化,例:設(shè)浮點表示中,E=4、M補(bǔ)=0.1000B,分別求出當(dāng)R=2或R=16時表示的數(shù)值的大?。?解:當(dāng)R=2時: N=MRE=0.1000B 24=0.5 24=8 當(dāng)R=16時: N=MRE=0.1000B 164=0.5 164=32768,2.5 浮點數(shù)據(jù)表示,2.5.
48、1 浮點數(shù),Ms 是尾數(shù)的符號位, 設(shè)置在最高位上。 Ms=0表示正號; Ms=1表示負(fù)號。,M為尾數(shù), 有m位, 由Ms和M組成一個定點數(shù)。,E 為階碼, 有n+1位,在E的最高位設(shè)為符號位, 以表示正階和負(fù)階。,浮點數(shù)的機(jī)內(nèi)表示形式:,2.5 浮點數(shù)據(jù)表示,2.5.1 浮點數(shù),例:設(shè)某浮點數(shù)共12位。其中階碼含1位階符共4位,以2為底,補(bǔ)碼表示;尾數(shù)含1位數(shù)符共8位,補(bǔ)碼表示,規(guī)格化。則該浮點數(shù)所能表示的最大正數(shù)是 ?,浮點數(shù)的機(jī)內(nèi)表示形式:,127,例:將十進(jìn)制數(shù)表示成浮點規(guī)格化數(shù),階碼4位(含符號),分別用補(bǔ)碼和移碼表示;尾數(shù)6位(含符號),用補(bǔ)碼表示。,2.5.2 IEEE 754標(biāo)
49、準(zhǔn),浮點數(shù)的機(jī)內(nèi)表示形式:,2.5 浮點數(shù)據(jù)表示,1、24/5122、24/512,1、24/512=0.11000*2-4 階碼用補(bǔ)碼表示:0 1100 11000 階碼用移碼表示:0 0100 11000,2、- 24/512= - 0.11000*2-4 階碼用補(bǔ)碼表示:1 1100 01000 階碼用移碼表示:1 0100 01000,2.5.2 IEEE 754標(biāo)準(zhǔn),浮點數(shù)據(jù)編碼的標(biāo)準(zhǔn)是IEEE 754標(biāo)準(zhǔn),尾數(shù)通常采用補(bǔ)碼形式,階碼的編碼可采用原碼、反碼、補(bǔ)碼和移碼進(jìn)行編碼。,浮點數(shù)的機(jī)內(nèi)表示形式:,2.5 浮點數(shù)據(jù)表示,32位單精度浮點數(shù),:含階符的階碼,8 位 階碼采用移碼方式
50、來表示正負(fù)指數(shù),:1位符號位 0表示正數(shù) 1表示負(fù)數(shù),:尾數(shù),23位小數(shù)表示,小數(shù)點放在尾數(shù)域最前面,IEEE 754標(biāo)準(zhǔn),64位雙精度浮點數(shù),:含階符的階碼,11位,:1位符號位,:尾數(shù),52位小數(shù),IEEE 754標(biāo)準(zhǔn),尾數(shù)最高有效位為1,隱藏,并且隱藏在小數(shù)點的左邊(即:1M2) 32位單精度浮點數(shù)規(guī)格化表示 (-1)s(1.) 2E-127 e127(e127) 64位雙精度浮點數(shù)規(guī)格化表示 (-1)s (1.) 2E-1023 e1023(e1023),指數(shù)真值e 用移碼形式表示為階碼,規(guī)格化表示原則,IEEE 754標(biāo)準(zhǔn),2.5.2 IEEE 754標(biāo)準(zhǔn),2.5 浮點數(shù)據(jù)表示, X
51、(-1)s1.M2e (1.011011)23 1011.011(11.375)10, 指數(shù)e階碼127 1000 001001111111 00000011=(3)10, 包括隱藏位1的尾數(shù)1.M 1.011011,例:浮點機(jī)器數(shù) (41360000)16,求真值,例:真值20.59375,求32位單精度浮點數(shù), 分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù) 20.5937510100.10011, 移動小數(shù)點,使其在第1、2位之間,10100.100111.01001001124,e4,S0,E4+12713110000011,M010010011, 得到32位浮點數(shù)的二進(jìn)制存儲格式為:,0 100
52、 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16,例:將十進(jìn)制數(shù)178.125表示成微機(jī)中的單精度浮點數(shù),解:178.125=10110010.001B =1.011001000127 指數(shù)E=7+127=134=10000110B 127是單精度浮點數(shù)應(yīng)加的指數(shù)偏移量,其完 整的浮點數(shù)形式為 : 0 10000110 011 0010 0010 0000 0000 0000 = 43322000H,例:將下面Pentium機(jī)中的單精度浮點數(shù)表示成 十進(jìn)制真值是多少? 即 3F580000H=0011 ,1111,0101,1000,0000,0
53、000,0000,0000B,數(shù)符:S0 (正號) 階碼: E=(01111110)2-127=126-127= -1 尾數(shù): D=(1.1011)2 X= 1.10112-1= (0.11011)2=0.84375,2.5.2 IEEE 754標(biāo)準(zhǔn),浮點數(shù)的特點,2.5 浮點數(shù)據(jù)表示,浮點數(shù)的表示范圍取決于階碼的位數(shù),相對精度取決于尾數(shù)的位數(shù)。 同一個浮點數(shù)的表示不是惟一的。 如果一個浮點數(shù)的尾數(shù)為0,不論其階碼為何值,或者當(dāng)階碼的值遇到比它能表示的最小值還小時,不管其尾數(shù)為何值,計算機(jī)都把該浮點數(shù)看成零值,稱為機(jī)器零。,將十進(jìn)制數(shù)+76.75存入某微機(jī)中,寫出在微機(jī)中的單精度浮點形式。,練
54、習(xí),解:表示成規(guī)格化二進(jìn)制真值格式為 +76.75=+1001100.11B=+1.0011 00112+110 表示成規(guī)格化尾數(shù)格式為:(將整數(shù)位的1隱含) +1.0011 0011=0 0011 0011 (橙色0為尾數(shù)符號) 計算出階碼為 110+0111 1111=1000 0101 該數(shù)的短浮點數(shù)格式為 0100 0010 1001 1001 1000 0000 0000 0000 = 42998000H,某微機(jī)內(nèi)存有單精度符點數(shù)為C2308000H,計算其真值。,練習(xí),設(shè)兩浮點數(shù)X,Y實現(xiàn) 運算,其中: 均為規(guī)格化數(shù)。 執(zhí)行下面五步完成運算。 1.“對階”使兩數(shù)階碼相等(對齊兩數(shù)的
55、小數(shù)點) 要對階,首先求出兩數(shù)階碼EX和EY之差,即 若0,表示兩數(shù)階碼相等,即EXEY。 若0,表示EXEY 若0,表示EXEY 當(dāng)EXEY時,要通過尾數(shù)的移位來改變EX或EY,使之相等。,2.6 浮點數(shù)的運算方法,2.6.1 浮點加減運算,對階的規(guī)則:是小階向大階看齊(使得誤差很?。?若EXEY,不需對階。 若EXEY,則MY右移,每右移1位,EY1EY,直至EXEY為止。 若EXEY,則MX右移,每右移1位,EX1EX,直至EXEY為止。 尾數(shù)右移后,應(yīng)對尾數(shù)進(jìn)行舍入。,2.尾數(shù)加/減,2.6 浮點數(shù)的運算方法,2.6.1 浮點加減運算,規(guī)則: (1)如果結(jié)果兩個符號位的值不同,表示尾數(shù)
56、結(jié)果溢出,將尾數(shù)右移1位,階碼E1,稱為“向右規(guī)格化”,簡稱“右規(guī)”。 (2)如果結(jié)果兩個符號位的值相同,表示尾數(shù)結(jié)果不溢出。但若最高數(shù)值位與符號位相同,此時尾數(shù)連續(xù)左移,直到最高數(shù)值位與符號位的值不同為止。同時從E中減去移位的位數(shù),這稱之為“向左規(guī)格化”,簡稱“左規(guī)”。,3.結(jié)果規(guī)格化(尾數(shù)用雙符號位補(bǔ)碼表示),2.6 浮點數(shù)的運算方法,2.6.1 浮點加減運算,右規(guī)或?qū)﹄A時尾數(shù)低位上的數(shù)值會移掉,使數(shù)值精度受影響,常用“0”舍“1”入法。當(dāng)移掉的最高位為1時,在尾數(shù)的末位加1,如果加1后又使尾數(shù)溢出,則要進(jìn)行右規(guī)。,4.舍入,5.檢查階碼是否溢出,階碼下溢,則置結(jié)果為機(jī)器零。若上溢,則置溢
57、出標(biāo)志。,2.6 浮點數(shù)的運算方法,2.6.1 浮點加減運算,例: 兩浮點數(shù)相加,求X+Y。 已知:X2010 0.11011011, y2100 (-0.10101100) 計算過程:,解:X和Y在機(jī)器中的浮點補(bǔ)碼表示形式為(雙符號位): 階符 階碼 數(shù)符 尾數(shù) X: 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 Y: 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0,(1)對階操作 階差EEx補(bǔ)+-EY補(bǔ)=00010+11100=11110 X階碼小,Mx右移2位,保留階碼E00100。 Mx補(bǔ)=00 00 110 110 11 下劃線上的數(shù)是右移出去而保留的附加位。,(2)尾數(shù)相加 Mx補(bǔ)+MY補(bǔ)=000011011011+1101010100=111000101011。,(3)規(guī)格化操作 左規(guī),移1位,結(jié)果:1100010101 10;階碼-1,E00011。,(4)舍入 附加位最高位為1,在所得結(jié)果的最低位+1。 得新結(jié)果: M補(bǔ)=1100010110, M: - 011101010。,(5)判溢出 階碼符號位為00,故不溢出。 最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年蛋炒午餐肉食品加工機(jī)維修(加工機(jī)故障排除)試題及答案
- 2025年高職第一學(xué)年(家政服務(wù))高端護(hù)理階段測試題及答案
- 2025年高職(應(yīng)用化工技術(shù))化工儀表試題及答案
- 2025年大學(xué)社會研究方法(調(diào)研數(shù)據(jù)處理)試題及答案
- 2025年中職機(jī)械類(機(jī)械制圖基礎(chǔ))試題及答案
- 2025年中職非金屬材料(材料加工技術(shù))試題及答案
- 2025年高職第二學(xué)年(康復(fù)治療技術(shù))言語治療技術(shù)試題及答案
- 2025年高職電子信息工程技術(shù)(電子信息工程應(yīng)用)試題及答案
- 2025年中職職業(yè)衛(wèi)生技術(shù)與管理(職業(yè)衛(wèi)生管理)期末試題
- 2025年高職(藥事管理與法規(guī))法規(guī)應(yīng)用單元測試試題及答案
- 廣東省花都亞熱帶型巖溶地區(qū)地基處理與樁基礎(chǔ)施工技術(shù):難題破解與方案優(yōu)化
- 生鮮乳安全生產(chǎn)培訓(xùn)資料課件
- 基于知識圖譜的高校學(xué)生崗位智能匹配平臺設(shè)計研究
- GB 4053.3-2025固定式金屬梯及平臺安全要求第3部分:工業(yè)防護(hù)欄桿及平臺
- 2026年《必背60題》高校專職輔導(dǎo)員高頻面試題包含詳細(xì)解答
- 2026年八年級生物上冊期末考試試卷及答案
- 工程顧問協(xié)議書
- GA 1016-2012槍支(彈藥)庫室風(fēng)險等級劃分與安全防范要求
- 砂漿拉伸粘結(jié)強(qiáng)度強(qiáng)度試驗記錄和報告
- 220kv輸電線路工程施工組織設(shè)計
- (完整)中考英語??嫉?00個高頻詞匯
評論
0/150
提交評論