政史地匯編第19次課課件_第1頁
政史地匯編第19次課課件_第2頁
政史地匯編第19次課課件_第3頁
政史地匯編第19次課課件_第4頁
政史地匯編第19次課課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本次課程要點(diǎn):1、掌握定點(diǎn)加減運(yùn)算。2、掌握補(bǔ)碼運(yùn)算溢出與檢測方法。3、掌握不同碼制的移位運(yùn)算。4、掌握原碼乘法運(yùn)算。第3章數(shù)值運(yùn)算及運(yùn)算器本次課程要點(diǎn):1、掌握定點(diǎn)加減運(yùn)算。第3章數(shù)值運(yùn)算及運(yùn)算器1第3章數(shù)值運(yùn)算及運(yùn)算器1、原碼加減運(yùn)算

2、反碼加減運(yùn)算

3、補(bǔ)碼加減運(yùn)算二、定點(diǎn)加減運(yùn)算第3章數(shù)值運(yùn)算及運(yùn)算器1、原碼加減運(yùn)算

2、反碼加減運(yùn)算

21、原碼加減運(yùn)算例:7+(-5)

0111+110101000010

注:用原碼表示的數(shù)在進(jìn)行加減運(yùn)算時(shí),符號位不參與運(yùn)算。參與運(yùn)算的是兩個(gè)操作數(shù)的絕對值,運(yùn)算結(jié)果的符號與絕對值較大的操作數(shù)保持一致?!痢?、原碼加減運(yùn)算×√32、反碼加減運(yùn)算

運(yùn)算規(guī)則:參加運(yùn)算的操作數(shù)用反碼表示,符號位參加運(yùn)算。當(dāng)操作碼為加運(yùn)算時(shí),兩數(shù)直接相加;當(dāng)操作碼為減運(yùn)算時(shí),將減數(shù)連同符號位一起求反與被減數(shù)相加。如果符號位產(chǎn)生進(jìn)位,則在末位加1,即循環(huán)進(jìn)位。運(yùn)算結(jié)果為反碼表示。2、反碼加減運(yùn)算4第3章數(shù)值運(yùn)算及運(yùn)算器3、補(bǔ)碼加減運(yùn)算(1)補(bǔ)碼加法兩個(gè)補(bǔ)碼表示的數(shù)相加,符號位參加運(yùn)算,且兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和,即:

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)第3章數(shù)值運(yùn)算及運(yùn)算器3、補(bǔ)碼加減運(yùn)算(1)補(bǔ)碼加法5例1:A=0.1011,B=-0.1110,求A+B

∵[A]補(bǔ)=0.1011[B]補(bǔ)=1.00100.1011[A]補(bǔ)

+1.0010[B]補(bǔ)

1.1101[A+B]補(bǔ)

∴[A+B]補(bǔ)=1.1101A+B=-0.0011第3章數(shù)值運(yùn)算及運(yùn)算器例1:A=0.1011,B=-0.1110,求A+B第3章6根據(jù)補(bǔ)碼加法公式可推出:

[X-Y]補(bǔ)=[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)從補(bǔ)碼減法公式可以看出,只要求得[-Y]補(bǔ),就可以變減法為加法。不管Y的真值為正或?yàn)樨?fù),已知[Y]補(bǔ)求[-Y]補(bǔ)的方法是:將[Y]補(bǔ)連同符號位一起求反,末尾加“1”

。

[-Y]補(bǔ)被稱為[Y]補(bǔ)的機(jī)器負(fù)數(shù),由[Y]補(bǔ)求[-Y]補(bǔ)的過程稱為對[Y]補(bǔ)變補(bǔ),表示為[-Y]補(bǔ)=[[Y]補(bǔ)]變補(bǔ)第3章數(shù)值運(yùn)算及運(yùn)算器(2)補(bǔ)碼減法根據(jù)補(bǔ)碼加法公式可推出:第3章數(shù)值運(yùn)算及運(yùn)算器(7注意:區(qū)別“某數(shù)的補(bǔ)碼表示”與“變補(bǔ)”兩個(gè)不同的概念。

例1:Y=-0.0110,

[Y]原=1.0110,

[Y]補(bǔ)=1.1010,

[-Y]補(bǔ)=0.0110

一個(gè)負(fù)數(shù)由原碼轉(zhuǎn)換成補(bǔ)碼時(shí),符號位是不變的,僅對數(shù)值位各位變反,末位加“1”。而變補(bǔ)則不論這個(gè)數(shù)的真值是正是負(fù),連同符號位一起變反,末位加“1”。

[Y]補(bǔ)表示的真值如果是正數(shù),則變補(bǔ)后[-Y]補(bǔ)所表示的真值變?yōu)樨?fù)數(shù),反之亦然。第3章數(shù)值運(yùn)算及運(yùn)算器例2:Y=0.0110,[Y]原=0.0110,[Y]補(bǔ)=0.0110,[-Y]補(bǔ)=1.1010注意:區(qū)別“某數(shù)的補(bǔ)碼表示”與“變補(bǔ)”兩個(gè)不同的概念。8例2:A=0.1011,B=-0.0010,求A-B

∵[A]補(bǔ)=0.1011[B]補(bǔ)=1.1110[-B]補(bǔ)=0.00100.1011[A]補(bǔ)

+0.0010[-B]補(bǔ)

0.1101[A-B]補(bǔ)

∴[A-B]補(bǔ)=0.1101A-B=0.1101第3章數(shù)值運(yùn)算及運(yùn)算器例2:A=0.1011,B=-0.0010,求A-B第3章9補(bǔ)碼加減運(yùn)算流程第3章數(shù)值運(yùn)算及運(yùn)算器操作數(shù)用補(bǔ)碼表示符號位參與運(yùn)算X補(bǔ)+Y補(bǔ)X補(bǔ)+(-Y)補(bǔ)ADDSUB運(yùn)算結(jié)果為補(bǔ)碼表示符號位指示結(jié)果正負(fù)補(bǔ)碼加減運(yùn)算流程第3章數(shù)值運(yùn)算及運(yùn)算器操作數(shù)用補(bǔ)碼表示X10溢出的產(chǎn)生當(dāng)機(jī)器字長與數(shù)據(jù)表示方法確定后,數(shù)據(jù)的表示范圍也就確定了。一旦運(yùn)算結(jié)果超出數(shù)據(jù)表示范圍,就會(huì)產(chǎn)生溢出。

第3章數(shù)值運(yùn)算及運(yùn)算器(4)補(bǔ)碼運(yùn)算的溢出與檢測溢出的產(chǎn)生第3章數(shù)值運(yùn)算及運(yùn)算器(4)補(bǔ)碼運(yùn)算的溢出與檢測11例3:設(shè):X=1011B=11D,Y=111B=7D

[X]補(bǔ)=0,1011,[Y]補(bǔ)=0,01110,1011 [X]補(bǔ)

+0,0111 [Y]補(bǔ)

1,0010 [X+Y]補(bǔ)∴[X+Y]補(bǔ)=1,0010X+Y=-1110B=-14D

兩正數(shù)相加結(jié)果為-14D,顯然是錯(cuò)誤的。第3章數(shù)值運(yùn)算及運(yùn)算器例3:設(shè):X=1011B=11D,Y=111B=7D第3章12例4:設(shè):X=-1011B=-11D,Y=-111B=-7D

[X]補(bǔ)=1,0101[Y]補(bǔ)=1,10011,0101 [X]補(bǔ)

+1,1001 [Y]補(bǔ)

0,1110 [X+Y]補(bǔ)∴[X+Y]補(bǔ)=0,1110X+Y=1110B=14D

兩負(fù)數(shù)相加結(jié)果為14D,顯然也是錯(cuò)誤的。第3章數(shù)值運(yùn)算及運(yùn)算器例4:設(shè):X=-1011B=-11D,Y=-111B=-7D13

字長為n位的定點(diǎn)整數(shù)(最高位為符號位),采用補(bǔ)碼表示,當(dāng)2n-1-1<運(yùn)算結(jié)果或<-2n-1時(shí),就產(chǎn)生溢出。字長為n位的定點(diǎn)小數(shù)(最高位為符號位),采用補(bǔ)碼表示,當(dāng)1-2-(n-1)

<運(yùn)算結(jié)果或<-1時(shí),就產(chǎn)生溢出。當(dāng)運(yùn)算結(jié)果為正且大于所能表示的最大正數(shù)時(shí),稱為正溢;

當(dāng)運(yùn)算結(jié)果為負(fù)且小于所能表示的最小負(fù)數(shù)時(shí),稱為負(fù)溢。

第3章數(shù)值運(yùn)算及運(yùn)算器字長為n位的定點(diǎn)整數(shù)(最高位為符號位14

兩個(gè)異號數(shù)相加,實(shí)際上是做兩數(shù)相減,所以結(jié)果不會(huì)溢出。

當(dāng)兩個(gè)同號數(shù)相加或兩個(gè)異號數(shù)相減時(shí),才有可能產(chǎn)生溢出。[政史地]匯編第19次課課件15設(shè):被操作數(shù)為:[X]補(bǔ)=Xs,X1X2…Xn

操作數(shù)為:[Y]補(bǔ)=Ys,Y1Y2…Yn

其和(差)為:[S]補(bǔ)=Ss,S1S2…Sn

(a)采用一個(gè)符號位當(dāng)Xs=Ys=0,Ss=1時(shí),產(chǎn)生正溢;當(dāng)Xs=Ys=1,Ss=0時(shí),產(chǎn)生負(fù)溢。

溢出判斷條件為

溢出=Ss﹢XsYs第3章數(shù)值運(yùn)算及運(yùn)算器(5)補(bǔ)碼的溢出檢測方法設(shè):被操作數(shù)為:[X]補(bǔ)=Xs,X1X2…Xn第3章數(shù)值運(yùn)16

(b)采用進(jìn)位判斷兩數(shù)運(yùn)算時(shí),產(chǎn)生的進(jìn)位為

Cs,C1C2…Cn,其中:Cs為符號位產(chǎn)生的進(jìn)位,C1為最高數(shù)值位產(chǎn)生的進(jìn)位。

兩正數(shù)相加,當(dāng)最高有效位產(chǎn)生進(jìn)位(C1=1)而符號位不產(chǎn)生進(jìn)位(Cs=0)時(shí),發(fā)生正溢;

兩負(fù)數(shù)相加,當(dāng)最高有效位不產(chǎn)生進(jìn)位(C1=0)而符號位產(chǎn)生進(jìn)位(Cs=1)時(shí),發(fā)生負(fù)溢。故溢出條件為

溢出=C1+Cs=Cs⊕C1

第3章數(shù)值運(yùn)算及運(yùn)算器(b)采用進(jìn)位判斷第3章數(shù)值運(yùn)算及運(yùn)算器17

(c)采用變形補(bǔ)碼(雙符號位補(bǔ)碼)在雙符號位的情況下,把左邊的符號位S1叫做真符,兩個(gè)符號位都作為數(shù)的一部分參加運(yùn)算。這種編碼又稱為變形補(bǔ)碼。例1:10+7001010+000111010001

第3章數(shù)值運(yùn)算及運(yùn)算器例2(-10)+(-7)

110110+111001101111S1S2(c)采用變形補(bǔ)碼(雙符號位補(bǔ)碼)第3章數(shù)值運(yùn)算18雙符號位的含義如下:

S1S2=00結(jié)果為正數(shù),無溢出

S1S2=01結(jié)果正溢

S1S2=10結(jié)果負(fù)溢

S1S2=11結(jié)果為負(fù)數(shù),無溢出

當(dāng)運(yùn)算結(jié)果的兩個(gè)符號位的值不同時(shí),表明產(chǎn)生溢出,溢出條件為溢出=S1⊕S2雙符號位的含義如下:19第3章數(shù)值運(yùn)算及運(yùn)算器1、邏輯移位三、移位運(yùn)算按操作性質(zhì)可分為三種類型:

邏輯移位、循環(huán)移位、算術(shù)移位。只有數(shù)碼位置的變化,而無數(shù)量的變化。左移:低位補(bǔ)0。右移:高位補(bǔ)0。例1:A寄存器的初值為10110101

邏輯右移一位后為01011010

邏輯左移一位后為01101010第3章數(shù)值運(yùn)算及運(yùn)算器1、邏輯移位三、移位運(yùn)算按操作性質(zhì)20第3章數(shù)值運(yùn)算及運(yùn)算器2、循環(huán)移位寄存器兩端觸發(fā)器有移位通路,形成閉合的移位環(huán)路。例2:A寄存器的初值為10011001循環(huán)右移一位后為11001100循環(huán)左移一位后為00110011第3章數(shù)值運(yùn)算及運(yùn)算器2、循環(huán)移位寄存器兩端觸發(fā)器有21第3章數(shù)值運(yùn)算及運(yùn)算器3、算術(shù)移位數(shù)的符號位不變,而數(shù)值位發(fā)生變化。左移一位將使數(shù)值擴(kuò)大一倍(乘以2)右移一位則使數(shù)值縮小一倍(乘以1/2)第3章數(shù)值運(yùn)算及運(yùn)算器3、算術(shù)移位數(shù)的符號位不變,而數(shù)值位22第3章數(shù)值運(yùn)算及運(yùn)算器(1)正數(shù):原碼、補(bǔ)碼、反碼左右移位時(shí),空位均補(bǔ)入0例3:A寄存器初值:0.0110

左移一位:0.1100

右移一位:0.0011第3章數(shù)值運(yùn)算及運(yùn)算器(1)正數(shù):例3:A寄存器初值:0.23第3章數(shù)值運(yùn)算及運(yùn)算器(2)負(fù)數(shù):原碼:符號位不變(為1),空位補(bǔ)0。例4:初值為1.0110

算術(shù)左移一位:1.1100

算術(shù)右移一位:1.0011補(bǔ)碼:左移空位補(bǔ)0,右移空位補(bǔ)1。例5:初值:1.1011

左移一位:1.0110

右移一位:1.1101第3章數(shù)值運(yùn)算及運(yùn)算器(2)負(fù)數(shù):24第3章數(shù)值運(yùn)算及運(yùn)算器

反碼:移位后的空位補(bǔ)1。例6:初值:1.1011

左移一位:1.0111

右移一位:1.1101第3章數(shù)值運(yùn)算及運(yùn)算器反碼:移位后的空位補(bǔ)1。25第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算實(shí)現(xiàn)乘除運(yùn)算的方案:1、軟件實(shí)現(xiàn)2、硬件實(shí)現(xiàn)

對數(shù)據(jù)的累加和移位陣列乘法器第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算實(shí)現(xiàn)乘除運(yùn)算的方案:26原碼一位乘法是從手算演變而來的。

乘積P=|X|×|Y|

符號Ps=Xs⊕Ys

式中:Ps為乘積的符號,Xs和Ys為被乘數(shù)和乘數(shù)的符號。第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算1、原碼一位乘原碼一位乘法是從手算演變而來的。第3章數(shù)值27第3章數(shù)值運(yùn)算及運(yùn)算器原碼一位乘法的規(guī)則:⑴

參加運(yùn)算的操作數(shù)取其絕對值;⑵

令乘數(shù)的最低位為判斷位,若為“1”,加被乘數(shù),若為“0”,不加被乘數(shù)(加0);⑶

累加后的部分積以及乘數(shù)右移一位;⑷

重復(fù)n次⑵和⑶;⑸

符號位單獨(dú)處理,同號為正,異號為負(fù)。第3章數(shù)值運(yùn)算及運(yùn)算器原碼一位乘法的規(guī)則:28通常,乘法運(yùn)算需要3個(gè)寄存器。

被乘數(shù)存放在B寄存器中;

乘數(shù)存放在C寄存器中,運(yùn)算結(jié)束后寄存器C中不再保留乘數(shù),改為存放乘積的低位部分。

A寄存器用來存放部分積與最后乘積的高位部分,它的初值為0。

例7:已知:X=0.1101,Y=-0.1011,求:X×Y。

|X|=0.1101→B,

|Y|=0.1011→C,0→A第3章數(shù)值運(yùn)算及運(yùn)算器通常,乘法運(yùn)算需要3個(gè)寄存器。第3章數(shù)值運(yùn)算及運(yùn)算器29

AC說明0.000010110.1101→0.01101101部分積右移一位1.0011+|X|0.1101C4=1,+|X|→0.10011110部分積右移一位+00.0000C4=0,+00.1001→0.01001111部分積右移一位+|X|0.1101C4=1,+|X|1.0001→0.10001111

部分積右移一位∵PS=XS⊕YS=0⊕1=1∴XY=-0.10001111

第3章數(shù)值運(yùn)算及運(yùn)算器+|X|0.1101C4=1,+|X|AC30圖1原碼一位乘法流程圖第3章數(shù)值運(yùn)算及運(yùn)算器EndYN|X|B,|Y|C0A,0CR→→→→Cn=1?CR+1→CRCR=n??

(A+0)A

CC??→→?

(A+B)A

CC??→→XS

YS

PS→YN⊕

圖1原碼一位乘法流程圖第3章數(shù)值運(yùn)算及運(yùn)算器EndYN31作業(yè):課本77頁,3.1(1),(2);3.2(1),(2);3.4(2)

第3章數(shù)值運(yùn)算及運(yùn)算器作業(yè):第3章數(shù)值運(yùn)算及運(yùn)算器32本次課程要點(diǎn):1、掌握定點(diǎn)加減運(yùn)算。2、掌握補(bǔ)碼運(yùn)算溢出與檢測方法。3、掌握不同碼制的移位運(yùn)算。4、掌握原碼乘法運(yùn)算。第3章數(shù)值運(yùn)算及運(yùn)算器本次課程要點(diǎn):1、掌握定點(diǎn)加減運(yùn)算。第3章數(shù)值運(yùn)算及運(yùn)算器33第3章數(shù)值運(yùn)算及運(yùn)算器1、原碼加減運(yùn)算

2、反碼加減運(yùn)算

3、補(bǔ)碼加減運(yùn)算二、定點(diǎn)加減運(yùn)算第3章數(shù)值運(yùn)算及運(yùn)算器1、原碼加減運(yùn)算

2、反碼加減運(yùn)算

341、原碼加減運(yùn)算例:7+(-5)

0111+110101000010

注:用原碼表示的數(shù)在進(jìn)行加減運(yùn)算時(shí),符號位不參與運(yùn)算。參與運(yùn)算的是兩個(gè)操作數(shù)的絕對值,運(yùn)算結(jié)果的符號與絕對值較大的操作數(shù)保持一致。×√1、原碼加減運(yùn)算×√352、反碼加減運(yùn)算

運(yùn)算規(guī)則:參加運(yùn)算的操作數(shù)用反碼表示,符號位參加運(yùn)算。當(dāng)操作碼為加運(yùn)算時(shí),兩數(shù)直接相加;當(dāng)操作碼為減運(yùn)算時(shí),將減數(shù)連同符號位一起求反與被減數(shù)相加。如果符號位產(chǎn)生進(jìn)位,則在末位加1,即循環(huán)進(jìn)位。運(yùn)算結(jié)果為反碼表示。2、反碼加減運(yùn)算36第3章數(shù)值運(yùn)算及運(yùn)算器3、補(bǔ)碼加減運(yùn)算(1)補(bǔ)碼加法兩個(gè)補(bǔ)碼表示的數(shù)相加,符號位參加運(yùn)算,且兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和,即:

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)第3章數(shù)值運(yùn)算及運(yùn)算器3、補(bǔ)碼加減運(yùn)算(1)補(bǔ)碼加法37例1:A=0.1011,B=-0.1110,求A+B

∵[A]補(bǔ)=0.1011[B]補(bǔ)=1.00100.1011[A]補(bǔ)

+1.0010[B]補(bǔ)

1.1101[A+B]補(bǔ)

∴[A+B]補(bǔ)=1.1101A+B=-0.0011第3章數(shù)值運(yùn)算及運(yùn)算器例1:A=0.1011,B=-0.1110,求A+B第3章38根據(jù)補(bǔ)碼加法公式可推出:

[X-Y]補(bǔ)=[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)從補(bǔ)碼減法公式可以看出,只要求得[-Y]補(bǔ),就可以變減法為加法。不管Y的真值為正或?yàn)樨?fù),已知[Y]補(bǔ)求[-Y]補(bǔ)的方法是:將[Y]補(bǔ)連同符號位一起求反,末尾加“1”

。

[-Y]補(bǔ)被稱為[Y]補(bǔ)的機(jī)器負(fù)數(shù),由[Y]補(bǔ)求[-Y]補(bǔ)的過程稱為對[Y]補(bǔ)變補(bǔ),表示為[-Y]補(bǔ)=[[Y]補(bǔ)]變補(bǔ)第3章數(shù)值運(yùn)算及運(yùn)算器(2)補(bǔ)碼減法根據(jù)補(bǔ)碼加法公式可推出:第3章數(shù)值運(yùn)算及運(yùn)算器(39注意:區(qū)別“某數(shù)的補(bǔ)碼表示”與“變補(bǔ)”兩個(gè)不同的概念。

例1:Y=-0.0110,

[Y]原=1.0110,

[Y]補(bǔ)=1.1010,

[-Y]補(bǔ)=0.0110

一個(gè)負(fù)數(shù)由原碼轉(zhuǎn)換成補(bǔ)碼時(shí),符號位是不變的,僅對數(shù)值位各位變反,末位加“1”。而變補(bǔ)則不論這個(gè)數(shù)的真值是正是負(fù),連同符號位一起變反,末位加“1”。

[Y]補(bǔ)表示的真值如果是正數(shù),則變補(bǔ)后[-Y]補(bǔ)所表示的真值變?yōu)樨?fù)數(shù),反之亦然。第3章數(shù)值運(yùn)算及運(yùn)算器例2:Y=0.0110,[Y]原=0.0110,[Y]補(bǔ)=0.0110,[-Y]補(bǔ)=1.1010注意:區(qū)別“某數(shù)的補(bǔ)碼表示”與“變補(bǔ)”兩個(gè)不同的概念。40例2:A=0.1011,B=-0.0010,求A-B

∵[A]補(bǔ)=0.1011[B]補(bǔ)=1.1110[-B]補(bǔ)=0.00100.1011[A]補(bǔ)

+0.0010[-B]補(bǔ)

0.1101[A-B]補(bǔ)

∴[A-B]補(bǔ)=0.1101A-B=0.1101第3章數(shù)值運(yùn)算及運(yùn)算器例2:A=0.1011,B=-0.0010,求A-B第3章41補(bǔ)碼加減運(yùn)算流程第3章數(shù)值運(yùn)算及運(yùn)算器操作數(shù)用補(bǔ)碼表示符號位參與運(yùn)算X補(bǔ)+Y補(bǔ)X補(bǔ)+(-Y)補(bǔ)ADDSUB運(yùn)算結(jié)果為補(bǔ)碼表示符號位指示結(jié)果正負(fù)補(bǔ)碼加減運(yùn)算流程第3章數(shù)值運(yùn)算及運(yùn)算器操作數(shù)用補(bǔ)碼表示X42溢出的產(chǎn)生當(dāng)機(jī)器字長與數(shù)據(jù)表示方法確定后,數(shù)據(jù)的表示范圍也就確定了。一旦運(yùn)算結(jié)果超出數(shù)據(jù)表示范圍,就會(huì)產(chǎn)生溢出。

第3章數(shù)值運(yùn)算及運(yùn)算器(4)補(bǔ)碼運(yùn)算的溢出與檢測溢出的產(chǎn)生第3章數(shù)值運(yùn)算及運(yùn)算器(4)補(bǔ)碼運(yùn)算的溢出與檢測43例3:設(shè):X=1011B=11D,Y=111B=7D

[X]補(bǔ)=0,1011,[Y]補(bǔ)=0,01110,1011 [X]補(bǔ)

+0,0111 [Y]補(bǔ)

1,0010 [X+Y]補(bǔ)∴[X+Y]補(bǔ)=1,0010X+Y=-1110B=-14D

兩正數(shù)相加結(jié)果為-14D,顯然是錯(cuò)誤的。第3章數(shù)值運(yùn)算及運(yùn)算器例3:設(shè):X=1011B=11D,Y=111B=7D第3章44例4:設(shè):X=-1011B=-11D,Y=-111B=-7D

[X]補(bǔ)=1,0101[Y]補(bǔ)=1,10011,0101 [X]補(bǔ)

+1,1001 [Y]補(bǔ)

0,1110 [X+Y]補(bǔ)∴[X+Y]補(bǔ)=0,1110X+Y=1110B=14D

兩負(fù)數(shù)相加結(jié)果為14D,顯然也是錯(cuò)誤的。第3章數(shù)值運(yùn)算及運(yùn)算器例4:設(shè):X=-1011B=-11D,Y=-111B=-7D45

字長為n位的定點(diǎn)整數(shù)(最高位為符號位),采用補(bǔ)碼表示,當(dāng)2n-1-1<運(yùn)算結(jié)果或<-2n-1時(shí),就產(chǎn)生溢出。字長為n位的定點(diǎn)小數(shù)(最高位為符號位),采用補(bǔ)碼表示,當(dāng)1-2-(n-1)

<運(yùn)算結(jié)果或<-1時(shí),就產(chǎn)生溢出。當(dāng)運(yùn)算結(jié)果為正且大于所能表示的最大正數(shù)時(shí),稱為正溢;

當(dāng)運(yùn)算結(jié)果為負(fù)且小于所能表示的最小負(fù)數(shù)時(shí),稱為負(fù)溢。

第3章數(shù)值運(yùn)算及運(yùn)算器字長為n位的定點(diǎn)整數(shù)(最高位為符號位46

兩個(gè)異號數(shù)相加,實(shí)際上是做兩數(shù)相減,所以結(jié)果不會(huì)溢出。

當(dāng)兩個(gè)同號數(shù)相加或兩個(gè)異號數(shù)相減時(shí),才有可能產(chǎn)生溢出。[政史地]匯編第19次課課件47設(shè):被操作數(shù)為:[X]補(bǔ)=Xs,X1X2…Xn

操作數(shù)為:[Y]補(bǔ)=Ys,Y1Y2…Yn

其和(差)為:[S]補(bǔ)=Ss,S1S2…Sn

(a)采用一個(gè)符號位當(dāng)Xs=Ys=0,Ss=1時(shí),產(chǎn)生正溢;當(dāng)Xs=Ys=1,Ss=0時(shí),產(chǎn)生負(fù)溢。

溢出判斷條件為

溢出=Ss﹢XsYs第3章數(shù)值運(yùn)算及運(yùn)算器(5)補(bǔ)碼的溢出檢測方法設(shè):被操作數(shù)為:[X]補(bǔ)=Xs,X1X2…Xn第3章數(shù)值運(yùn)48

(b)采用進(jìn)位判斷兩數(shù)運(yùn)算時(shí),產(chǎn)生的進(jìn)位為

Cs,C1C2…Cn,其中:Cs為符號位產(chǎn)生的進(jìn)位,C1為最高數(shù)值位產(chǎn)生的進(jìn)位。

兩正數(shù)相加,當(dāng)最高有效位產(chǎn)生進(jìn)位(C1=1)而符號位不產(chǎn)生進(jìn)位(Cs=0)時(shí),發(fā)生正溢;

兩負(fù)數(shù)相加,當(dāng)最高有效位不產(chǎn)生進(jìn)位(C1=0)而符號位產(chǎn)生進(jìn)位(Cs=1)時(shí),發(fā)生負(fù)溢。故溢出條件為

溢出=C1+Cs=Cs⊕C1

第3章數(shù)值運(yùn)算及運(yùn)算器(b)采用進(jìn)位判斷第3章數(shù)值運(yùn)算及運(yùn)算器49

(c)采用變形補(bǔ)碼(雙符號位補(bǔ)碼)在雙符號位的情況下,把左邊的符號位S1叫做真符,兩個(gè)符號位都作為數(shù)的一部分參加運(yùn)算。這種編碼又稱為變形補(bǔ)碼。例1:10+7001010+000111010001

第3章數(shù)值運(yùn)算及運(yùn)算器例2(-10)+(-7)

110110+111001101111S1S2(c)采用變形補(bǔ)碼(雙符號位補(bǔ)碼)第3章數(shù)值運(yùn)算50雙符號位的含義如下:

S1S2=00結(jié)果為正數(shù),無溢出

S1S2=01結(jié)果正溢

S1S2=10結(jié)果負(fù)溢

S1S2=11結(jié)果為負(fù)數(shù),無溢出

當(dāng)運(yùn)算結(jié)果的兩個(gè)符號位的值不同時(shí),表明產(chǎn)生溢出,溢出條件為溢出=S1⊕S2雙符號位的含義如下:51第3章數(shù)值運(yùn)算及運(yùn)算器1、邏輯移位三、移位運(yùn)算按操作性質(zhì)可分為三種類型:

邏輯移位、循環(huán)移位、算術(shù)移位。只有數(shù)碼位置的變化,而無數(shù)量的變化。左移:低位補(bǔ)0。右移:高位補(bǔ)0。例1:A寄存器的初值為10110101

邏輯右移一位后為01011010

邏輯左移一位后為01101010第3章數(shù)值運(yùn)算及運(yùn)算器1、邏輯移位三、移位運(yùn)算按操作性質(zhì)52第3章數(shù)值運(yùn)算及運(yùn)算器2、循環(huán)移位寄存器兩端觸發(fā)器有移位通路,形成閉合的移位環(huán)路。例2:A寄存器的初值為10011001循環(huán)右移一位后為11001100循環(huán)左移一位后為00110011第3章數(shù)值運(yùn)算及運(yùn)算器2、循環(huán)移位寄存器兩端觸發(fā)器有53第3章數(shù)值運(yùn)算及運(yùn)算器3、算術(shù)移位數(shù)的符號位不變,而數(shù)值位發(fā)生變化。左移一位將使數(shù)值擴(kuò)大一倍(乘以2)右移一位則使數(shù)值縮小一倍(乘以1/2)第3章數(shù)值運(yùn)算及運(yùn)算器3、算術(shù)移位數(shù)的符號位不變,而數(shù)值位54第3章數(shù)值運(yùn)算及運(yùn)算器(1)正數(shù):原碼、補(bǔ)碼、反碼左右移位時(shí),空位均補(bǔ)入0例3:A寄存器初值:0.0110

左移一位:0.1100

右移一位:0.0011第3章數(shù)值運(yùn)算及運(yùn)算器(1)正數(shù):例3:A寄存器初值:0.55第3章數(shù)值運(yùn)算及運(yùn)算器(2)負(fù)數(shù):原碼:符號位不變(為1),空位補(bǔ)0。例4:初值為1.0110

算術(shù)左移一位:1.1100

算術(shù)右移一位:1.0011補(bǔ)碼:左移空位補(bǔ)0,右移空位補(bǔ)1。例5:初值:1.1011

左移一位:1.0110

右移一位:1.1101第3章數(shù)值運(yùn)算及運(yùn)算器(2)負(fù)數(shù):56第3章數(shù)值運(yùn)算及運(yùn)算器

反碼:移位后的空位補(bǔ)1。例6:初值:1.1011

左移一位:1.0111

右移一位:1.1101第3章數(shù)值運(yùn)算及運(yùn)算器反碼:移位后的空位補(bǔ)1。57第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算實(shí)現(xiàn)乘除運(yùn)算的方案:1、軟件實(shí)現(xiàn)2、硬件實(shí)現(xiàn)

對數(shù)據(jù)的累加和移位陣列乘法器第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算實(shí)現(xiàn)乘除運(yùn)算的方案:58原碼一位乘法是從手算演變而來的。

乘積P=|X|×|Y|

符號Ps=Xs⊕Ys

式中:Ps為乘積的符號,Xs和Ys為被乘數(shù)和乘數(shù)的符號。第3章數(shù)值運(yùn)算及運(yùn)算器四、乘法運(yùn)算1、原碼一位乘原碼一位乘法是從手算演變而來的。第3章數(shù)值59第3章數(shù)值運(yùn)算及運(yùn)算器原碼一位乘法的規(guī)則:⑴

參加運(yùn)算的操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論