版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章計(jì)算機(jī)的運(yùn)算方法6.1無符號(hào)數(shù)和有符號(hào)數(shù)6.3定點(diǎn)運(yùn)算6.2數(shù)的定點(diǎn)表示和浮點(diǎn)表示6.4浮點(diǎn)四則運(yùn)算6.5算術(shù)邏輯單元6.1無符號(hào)數(shù)和有符號(hào)數(shù)一、無符號(hào)數(shù)寄存器的位數(shù)反映無符號(hào)數(shù)的表示范圍8位0~25516位0~65535帶符號(hào)的數(shù)符號(hào)數(shù)字化的數(shù)+0.10110
1011小數(shù)點(diǎn)的位置+11000
1100小數(shù)點(diǎn)的位置–
11001
1100小數(shù)點(diǎn)的位置–0.10111
1011小數(shù)點(diǎn)的位置真值機(jī)器數(shù)1.機(jī)器數(shù)與真值二、有符號(hào)數(shù)6.12.原碼表示法帶符號(hào)的絕對(duì)值表示(1)定義整數(shù)x
為真值n
為整數(shù)的位數(shù)如x=+1110[x]原
=0,1110[x]原
=24+1110=1,1110x=
1110[x]原
=0,x2n
>
x
≥02n
x0≥
x
>2n用逗號(hào)將符號(hào)位和數(shù)值部分隔開6.1小數(shù)x
為真值如x=+0.1101[x]原
=0.1101x=0.1101[x]原
=1(0.1101)=1.1101x1>
x
≥0[x]原
=1–x0≥
x
>1x=0.1000000[x]原
=1(0.1000000)=1.1000000x=
+0.1000000[x]原
=0.1000000用小數(shù)點(diǎn)將符號(hào)位和數(shù)值部分隔開用小數(shù)點(diǎn)將符號(hào)位和數(shù)值部分隔開6.1原碼的特點(diǎn):簡(jiǎn)單、直觀但是用原碼作加法時(shí),會(huì)出現(xiàn)如下問題:能否只作加法?
找到一個(gè)與負(fù)數(shù)等價(jià)的正數(shù)來代替這個(gè)負(fù)數(shù)就可使減加加法正正加加法正負(fù)加法負(fù)正加法負(fù)負(fù)減減加
要求
數(shù)1數(shù)2
實(shí)際操作結(jié)果符號(hào)正可正可負(fù)可正可負(fù)負(fù)6.1-123(1)補(bǔ)的概念
時(shí)鐘逆時(shí)針-363順時(shí)針+96153.補(bǔ)碼表示法可見3可用+9代替記作3≡+9(mod12)同理4≡+8(mod12)5≡+7(mod12)
時(shí)鐘以
12為模減法加法6.1稱+9是
3以12為模的補(bǔ)數(shù)結(jié)論
一個(gè)負(fù)數(shù)加上“?!奔吹迷撠?fù)數(shù)的補(bǔ)數(shù)
一個(gè)正數(shù)和一個(gè)負(fù)數(shù)互為補(bǔ)數(shù)時(shí)它們絕對(duì)值之和即為模數(shù)
計(jì)數(shù)器(模16)–101110110000+010110111000010110000?可見1011可用+0101代替同理0110.1001自然去掉6.1記作1011(mod24)≡+0101(mod23)≡+101
(mod2)≡+1.0111+
0101(mod24)≡1011(mod24)(2)正數(shù)的補(bǔ)數(shù)即為其本身+10000+10000兩個(gè)互為補(bǔ)數(shù)的數(shù)+0101+10101≡分別加上模結(jié)果仍互為補(bǔ)數(shù)∴+0101≡+0101+010124+1–10111,0101用逗號(hào)將符號(hào)位和數(shù)值部分隔開丟掉10110,1,??1011(mod24)可見?+01010101010110110101+(mod24+1)6.1100000=(3)補(bǔ)碼定義整數(shù)x
為真值n
為整數(shù)的位數(shù)[x]補(bǔ)
=0,x2n
>
x
≥02n+1+x0
>
x
≥2n(mod2n+1)如x=+1010[x]補(bǔ)
=27+1+(1011000)=[x]補(bǔ)
=0,1010x=10110001,0101000用逗號(hào)將符號(hào)位和數(shù)值部分隔開6.11011000100000000小數(shù)x
為真值x=+0.1110[x]補(bǔ)
=x1>
x
≥02+x
0>
x
≥1(mod2)如[x]補(bǔ)
=0.1110x=0.11000001.0100000[x]補(bǔ)
=2
+
(0.1100000)=用小數(shù)點(diǎn)將符號(hào)位和數(shù)值部分隔開6.10.110000010.0000000(4)求補(bǔ)碼的快捷方式=100000=1,011010101+1=1,0110
又[x]原
=1,1010則[x]補(bǔ)
=24+11010=11111+11010=1111110101010當(dāng)真值為負(fù)時(shí),補(bǔ)碼可用原碼除符號(hào)位外每位取反,末位加1求得6.1+1設(shè)x=1010時(shí)4.反碼表示法(1)定義整數(shù)[x]反
=0,x2n
>x≥0(2n+1–1)+x0≥x
>2n(mod2n+1
1)如x
=+1101[x]反
=0,1101=1,0010x=1101[x]反
=(24+11)1101=111111101用逗號(hào)將符號(hào)位和數(shù)值部分隔開x
為真值n
為整數(shù)的位數(shù)6.1小數(shù)x
=+0.1101[x]反
=
0.1101x=0.1010[x]反
=(22-4)
0.1010=1.1111
0.1010=1.0101如[x]反
=x1>x≥0(2–2-n)+x0≥x
>1(mod22-n)用小數(shù)點(diǎn)將符號(hào)位和數(shù)值部分隔開x
為真值6.1n為小數(shù)的位數(shù)三種機(jī)器數(shù)的小結(jié)
對(duì)于正數(shù),原碼=補(bǔ)碼=反碼
對(duì)于負(fù)數(shù),符號(hào)位為1,其數(shù)值部分原碼除符號(hào)位外每位取反末位加1
補(bǔ)碼原碼除符號(hào)位外每位取反反碼
最高位為符號(hào)位,書寫上用“,”(整數(shù))或“.”(小數(shù))將數(shù)值部分和符號(hào)位隔開6.1例6.11000000000000000100000010…011111111000000010000001111111011111111011111111…128129-0-1-128-127-127-126二進(jìn)制代碼
無符號(hào)數(shù)對(duì)應(yīng)的真值原碼對(duì)應(yīng)的真值補(bǔ)碼對(duì)應(yīng)的真值反碼對(duì)應(yīng)的真值012127…253254255…-125-126-127…-3-2-1…-2-1-0…+0+1+2+127…+0+1+2+127…+0+1+2+127…6.1+0
設(shè)機(jī)器數(shù)字長(zhǎng)為8位(其中1位為符號(hào)位)對(duì)于整數(shù),當(dāng)其分別代表無符號(hào)數(shù)、原碼、補(bǔ)碼和反碼時(shí),對(duì)應(yīng)的真值范圍各為多少?例6.12解:已知[y]補(bǔ)求[y]補(bǔ)<Ⅰ>[y]補(bǔ)
=0.y1
y2
yn…y=0.y1y2
yn…y=0.y1
y2
yn…[y]補(bǔ)
=1.y1
y2
yn+2-n…<Ⅱ>[y]補(bǔ)
=1.y1
y2
yn…[y]原
=1.y1y2
yn+2-n…
y
=(0.y1y2
yn
+2-n)…
y
=0.y1y2
yn+2-n…[y]補(bǔ)
=0.y1
y2
yn+2-n…設(shè)[y]補(bǔ)
=y0.y1y2
yn…6.1每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號(hào)位在內(nèi),末位加1每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號(hào)位在內(nèi),末位加15.移碼表示法補(bǔ)碼表示很難直接判斷其真值大小如十進(jìn)制x=+21x=–21x=
+31x=–31x+25+10101+100000+11111+10000010101+10000011111+100000大大錯(cuò)錯(cuò)大大正確正確0,101011,010110,111111,00001+10101–
10101+11111–
11111=110101=001011=111111=000001二進(jìn)制補(bǔ)碼6.1(1)移碼定義x
為真值,n
為整數(shù)的位數(shù)移碼在數(shù)軸上的表示[x]移碼2n+1–12n2n
–1–2n00真值如x=10100[x]移
=25+10100用逗號(hào)將符號(hào)位和數(shù)值部分隔開x=–10100[x]移
=25
–10100[x]移
=2n+x(2n>x
≥2n)=1,10100=0,011006.1-100000-11111-11110-00001±00000+00001+00010+11110+11111……真值x(n
=
5)[x]補(bǔ)[x]移[x]移對(duì)應(yīng)的十進(jìn)制整數(shù)(3)真值、補(bǔ)碼和移碼的對(duì)照表……012313233346263……000000000010000001011111100000100001100010111110111111……011111011110000010000001000000111111100010100001100000-100000±00000+111110000001111110000001000006.1
當(dāng)x=0時(shí)[+0]移
=25+0
當(dāng)n=5時(shí)可見,最小真值的移碼為全0(4)移碼的特點(diǎn)用移碼表示浮點(diǎn)數(shù)的階碼能方便地判斷浮點(diǎn)數(shù)的階碼大小=1,00000=1,00000=0000006.1[0]移
=250∴[+0]移=[0]移[
100000]移=25
100000最小的真值為25=
1000006.2數(shù)的定點(diǎn)表示和浮點(diǎn)表示小數(shù)點(diǎn)按約定方式標(biāo)出一、定點(diǎn)表示Sf
S1S2
Sn…數(shù)符數(shù)值部分小數(shù)點(diǎn)位置Sf
S1S2
Sn…數(shù)符數(shù)值部分小數(shù)點(diǎn)位置或定點(diǎn)機(jī)小數(shù)定點(diǎn)機(jī)整數(shù)定點(diǎn)機(jī)原碼補(bǔ)碼反碼–(1–2-n)~+(1–2-n)–(2n
–1)~+(2n
–1)–1~+(1–2-n)–2n
~+(2n
–1)–(1–2-n)~+(1–2-n)–(2n
–
1)~+(2n
–1)二、浮點(diǎn)表示N=S×rj浮點(diǎn)數(shù)的一般形式S
尾數(shù)j
階碼r
基數(shù)(基值)計(jì)算機(jī)中r
取2、4、8、16
等當(dāng)r=2N=11.0101=0.110101×210=1.10101×21=1101.01×2-10
=0.00110101×2100
計(jì)算機(jī)中S
小數(shù)、可正可負(fù)j
整數(shù)、可正可負(fù)
規(guī)格化數(shù)二進(jìn)制表示6.21.浮點(diǎn)數(shù)的表示形式Sf
代表浮點(diǎn)數(shù)的符號(hào)n
其位數(shù)反映浮點(diǎn)數(shù)的精度m
其位數(shù)反映浮點(diǎn)數(shù)的表示范圍jf
和m
共同表示小數(shù)點(diǎn)的實(shí)際位置6.2jf
j1
j2
jm
Sf
S1S2
Sn
……j
階碼S
尾數(shù)階符數(shù)符階碼的數(shù)值部分尾數(shù)的數(shù)值部分小數(shù)點(diǎn)位置2.浮點(diǎn)數(shù)的表示范圍–2(2m–1)×(1
–
2–n)–2–(2m–1)×2–n2(2m–1)×(1
–
2–n)2–(2m–1)×2–n最小負(fù)數(shù)最大負(fù)數(shù)最大正數(shù)最小正數(shù)負(fù)數(shù)區(qū)正數(shù)區(qū)下溢0上溢上溢–215
×(1
–
2-10)
–2-15
×2-10
215
×(1
–
2-10)
設(shè)m=4
n=10上溢階碼>最大階碼下溢階碼<最小階碼按機(jī)器零處理6.22-15
×2-10
3.浮點(diǎn)數(shù)的規(guī)格化形式r=2尾數(shù)最高位為
1r=4尾數(shù)最高2位不全為0r=8尾數(shù)最高3位不全為04.浮點(diǎn)數(shù)的規(guī)格化r=2左規(guī)尾數(shù)左移1位,階碼減1右規(guī)尾數(shù)右移1位,階碼加1r=4左規(guī)尾數(shù)左移2位,階碼減1右規(guī)尾數(shù)右移2位,階碼加1r=8左規(guī)尾數(shù)左移3位,階碼減1右規(guī)尾數(shù)右移3位,階碼加1基數(shù)r
越大,可表示的浮點(diǎn)數(shù)的范圍越大基數(shù)不同,浮點(diǎn)數(shù)的規(guī)格化形式不同基數(shù)r
越大,浮點(diǎn)數(shù)的精度降低6.2例如:最大正數(shù)=215×(1–2–10)
2+1111×0.111111111110個(gè)1最小正數(shù)最大負(fù)數(shù)最小負(fù)數(shù)=2–15×2–1
=–215×(1–2–10)
=2–16=–2–15×2–1
=–2–162-1111×0.10000000009個(gè)02-1111×(–0.1000000000)9個(gè)02+1111×(–0.1111111111)10個(gè)1設(shè)m=4,n=10,r=2尾數(shù)規(guī)格化后的浮點(diǎn)數(shù)表示范圍6.2三、舉例例6.13將+寫成二進(jìn)制定點(diǎn)數(shù)、浮點(diǎn)數(shù)及在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。其中數(shù)值部分均取10位,數(shù)符取1位,浮點(diǎn)數(shù)階碼取5位(含1位階符)。19128解:設(shè)
x=+19128二進(jìn)制形式定點(diǎn)表示浮點(diǎn)規(guī)格化形式[x]原
=1,0010;0.1001100000[x]補(bǔ)
=1,1110;0.1001100000[x]反
=1,1101;0.1001100000定點(diǎn)機(jī)中浮點(diǎn)機(jī)中000x=0.0010011x=0.0010011x=0.1001100000×2-10[x]原
=[x]補(bǔ)
=[x]反
=0.00100110006.2
當(dāng)浮點(diǎn)數(shù)尾數(shù)為0
時(shí),不論其階碼為何值
按機(jī)器零處理機(jī)器零
當(dāng)浮點(diǎn)數(shù)階碼等于或小于它所表示的最小數(shù)時(shí),不論尾數(shù)為何值,按機(jī)器零處理如m=4n=10當(dāng)階碼用移碼,尾數(shù)用補(bǔ)碼表示時(shí),機(jī)器零為0,0000;0.000
…
1,0000
;×.×××
…×,××××;0.000
…有利于機(jī)器中“判0”電路的實(shí)現(xiàn)當(dāng)階碼和尾數(shù)都用補(bǔ)碼表示時(shí),機(jī)器零為6.2(階碼=16)四、IEEE754標(biāo)準(zhǔn)短實(shí)數(shù)長(zhǎng)實(shí)數(shù)臨時(shí)實(shí)數(shù)符號(hào)位S
階碼尾數(shù)總位數(shù)1
8233211152641156480S
階碼(含階符)尾數(shù)數(shù)符小數(shù)點(diǎn)位置尾數(shù)為規(guī)格化表示非“0”的有效位最高位為“1”(隱含)6.26.3定點(diǎn)運(yùn)算一、移位運(yùn)算1.移位的意義15m=1500cm小數(shù)點(diǎn)右移2位機(jī)器用語15相對(duì)于小數(shù)點(diǎn)左移2位(小數(shù)點(diǎn)不動(dòng))..左移絕對(duì)值擴(kuò)大右移絕對(duì)值縮小在計(jì)算機(jī)中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運(yùn)算2.算術(shù)移位規(guī)則1右移添1左移添00反碼補(bǔ)碼原碼負(fù)數(shù)0原碼、補(bǔ)碼、反碼正數(shù)符號(hào)位不變6.3添補(bǔ)代碼碼制真值3.算術(shù)移位的硬件實(shí)現(xiàn)(a)真值為正(b)負(fù)數(shù)的原碼(c)負(fù)數(shù)的補(bǔ)碼(d)負(fù)數(shù)的反碼00010丟
1丟
1出錯(cuò)影響精度出錯(cuò)影響精度正確影響精度正確正確6.34.算術(shù)移位和邏輯移位的區(qū)別算術(shù)移位有符號(hào)數(shù)的移位邏輯移位無符號(hào)數(shù)的移位邏輯左移邏輯右移低位添0,高位移丟高位添0,低位移丟例如
01010011邏輯左移10100110邏輯右移01011001算術(shù)左移算術(shù)右移0010011011011001(補(bǔ)碼)高位1移丟010100110Cy0101001100101100106.3二、加減法運(yùn)算1.補(bǔ)碼加減運(yùn)算公式(1)加法(2)減法整數(shù)[A]補(bǔ)
+[B]補(bǔ)=[A+B]補(bǔ)(mod2n+1)小數(shù)[A]補(bǔ)
+[B]補(bǔ)=[A+B]補(bǔ)(mod2)A–B=A+(–B
)整數(shù)[A
–B]補(bǔ)=[A+(–B
)]補(bǔ)=[A]補(bǔ)
+[
–
B]補(bǔ)(mod2n+1)小數(shù)[A
–B]補(bǔ)=[A+(–B
)]補(bǔ)(mod2)連同符號(hào)位一起相加,符號(hào)位產(chǎn)生的進(jìn)位自然丟掉=[A]補(bǔ)
+[
–
B]補(bǔ)6.32.舉例解:[A]補(bǔ)[B]補(bǔ)[A]補(bǔ)
+[B]補(bǔ)+=0.1011=1.1011=10.0110=[A+B]補(bǔ)驗(yàn)證例6.18設(shè)A=0.1011,B=–
0.0101求[A+B]補(bǔ)0.1011–0.01010.0110∴A+B
=0.0110[A]補(bǔ)[B]補(bǔ)[A]補(bǔ)
+[B]補(bǔ)+=1,0111=1,1011=11,0010=[A+B]補(bǔ)驗(yàn)證–1001–1110–0101+例6.19設(shè)A=–9,B=–5求[A+B]補(bǔ)解:∴A+B
=–11106.33.溢出判斷(1)一位符號(hào)位判溢出參加操作的兩個(gè)數(shù)(減法時(shí)即為被減數(shù)和“求補(bǔ)”以后的減數(shù))符號(hào)相同,其結(jié)果的符號(hào)與原操作數(shù)的符號(hào)不同,即為溢出硬件實(shí)現(xiàn)最高有效位的進(jìn)位符號(hào)位的進(jìn)位=1如10=101=1有溢出00=011=0無溢出6.3溢出(2)兩位符號(hào)位判溢出[x]補(bǔ)'
=
x1>x≥04+x0>x≥–1(mod4)[x]補(bǔ)'+[y]補(bǔ)'=[x+y]補(bǔ)'
(mod4)[x
–y]補(bǔ)'=[x]補(bǔ)'+[–
y]補(bǔ)'
(mod4)結(jié)果的雙符號(hào)位相同
未溢出結(jié)果的雙符號(hào)位不同
溢出最高符號(hào)位代表其真正的符號(hào)00.×××××11.×××××10.×××××01.×××××00,×××××11,×××××10,×××××01,×××××6.3三、乘法運(yùn)算1.分析筆算乘法A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111符號(hào)位單獨(dú)處理乘數(shù)的某一位決定是否加被乘數(shù)4個(gè)位積一起相加乘積的位數(shù)擴(kuò)大一倍×乘積的符號(hào)心算求得
?6.32.筆算乘法改進(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.01[0?
A+0.1(A+0.1A)]=0.1{A+0.1[0?
A+0.1(A+0.1A)]}=2-1{A
+2-1[0?
A+2-1(A
+
2-1(A+0))]}①②⑧第一步被乘數(shù)A
+0第二步右移一位,得新的部分積第八步右移一位,得結(jié)果③第三步部分積
+
被乘數(shù)…右移一位6.33.改進(jìn)后的筆算乘法過程(豎式)0.00000.11010.11010.11010.00000.1101初態(tài),部分積=0乘數(shù)為1,加被乘數(shù)乘數(shù)為1,加被乘數(shù)乘數(shù)為0,加01.001110.1001111.0001111乘數(shù)為1,加被乘數(shù)0.100011111,得結(jié)果1011=0.01101,形成新的部分積1101=0.10011,形成新的部分積1110=0.01001,形成新的部分積1111=
部分積乘數(shù)說明6.3++++小結(jié)
被乘數(shù)只與部分積的高位相加
由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加,然后1位形成新的部分積,同時(shí)乘數(shù)
1
位(末位移丟),空出高位存放部分積的低位。硬件3
個(gè)寄存器,具有移位功能1
個(gè)全加器6.3
乘法運(yùn)算可用加和移位實(shí)現(xiàn)
n=4,加4次,移4次4.原碼乘法(1)原碼一位乘運(yùn)算規(guī)則以小數(shù)為例設(shè)[x]原
=x0.x1x2
xn…[y]原
=y0.y1y2
yn…=(x0
y0).x*y*[x
?y]原
=(x0
y0).(0.x1x2
xn)(0.y1y2
yn)……式中x*=0.x1x2
xn
為x
的絕對(duì)值…y*=0.y1y2
yn
為y
的絕對(duì)值…乘積的符號(hào)位單獨(dú)處理x0
y0數(shù)值部分為絕對(duì)值相乘x*?
y*6.3(2)原碼一位乘遞推公式x*?
y*=x*(0.y1y2
yn)…=x*(y12-1+y22-2++yn2-n)…=2-1(y1x*+2-1(y2x*+2-1(ynx*+0)))……z1znz0=0z1=2-1(ynx*+z0)z2=2-1(yn-1x*+z1)zn=2-1(y1x*+zn-1)……z06.3例6.21已知x=–0.1110y=0.1101求[x?y]原解:6.3數(shù)值部分的運(yùn)算0.00000.11100.11100.00000.11100.1110部分積初態(tài)z0=0
部分積乘數(shù)說明0.011101.0001101.01101100.101101101,得
z4邏輯右移1101=0.01111,得
z10110=0.00111,得
z21011=0.10001,得
z31101=邏輯右移邏輯右移邏輯右移+++++x*+0+x*+x*②數(shù)值部分按絕對(duì)值相乘①乘積的符號(hào)位
x0
y0=10=1x*?
y*=0.10110110則[x
?
y]原
=1.10110110特點(diǎn)絕對(duì)值運(yùn)算邏輯移位例6.21結(jié)果用移位的次數(shù)判斷乘法是否結(jié)束6.35.補(bǔ)碼乘法設(shè)被乘數(shù)乘數(shù)[x]補(bǔ)
=x0.x1x2
xn…[y]補(bǔ)
=y0.y1y2
yn…①被乘數(shù)任意,乘數(shù)為正同原碼乘但加和移位按補(bǔ)碼規(guī)則運(yùn)算乘積的符號(hào)自然形成②被乘數(shù)任意,乘數(shù)為負(fù)乘數(shù)[y]補(bǔ),去掉符號(hào)位,操作同①
最后加[–x]補(bǔ),校正(1)補(bǔ)碼一位乘運(yùn)算規(guī)則6.3以小數(shù)為例乘法小結(jié)
原碼乘符號(hào)位單獨(dú)處理補(bǔ)碼乘符號(hào)位自然形成
原碼乘去掉符號(hào)位運(yùn)算即為無符號(hào)數(shù)乘法
不同的乘法運(yùn)算需有不同的硬件支持
整數(shù)乘法與小數(shù)乘法完全相同可用逗號(hào)代替小數(shù)點(diǎn)6.3四、除法運(yùn)算1.分析筆算除法x=–0.1011y=0.1101求x÷y0.10110.1101⌒0.011010.010010.0011010.0001010.000011010.000001111商符單獨(dú)處理心算上商余數(shù)不動(dòng)低位補(bǔ)“0”減右移一位的除數(shù)上商位置不固定x÷y=–0.1101余數(shù)0.00000111商符心算求得00.101000
???6.32.筆算除法和機(jī)器除法的比較筆算除法
機(jī)器除法商符單獨(dú)處理心算上商符號(hào)位異或形成|x|–|y|>0上商1|x|–|y|<0上商0余數(shù)不動(dòng)低位補(bǔ)“0”減右移一位的除數(shù)2倍字長(zhǎng)加法器上商位置不固定余數(shù)左移一位低位補(bǔ)“0”減除數(shù)1倍字長(zhǎng)加法器在寄存器最末位上商6.33.原碼除法以小數(shù)為例[x]原
=x0.x1x2
xn…[
y]原
=y0.y1y2
yn…式中x*=0.x1x2
xn
為x
的絕對(duì)值
y*=0.y1y2
yn
為y
的絕對(duì)值……數(shù)值部分為絕對(duì)值相除x*y*被除數(shù)不等于0除數(shù)不能為0小數(shù)定點(diǎn)除法x*<y*整數(shù)定點(diǎn)除法x*>
y*商的符號(hào)位單獨(dú)處理
x0
y0[]原
=(x0
y0).xyx*y*約定6.3(1)恢復(fù)余數(shù)法0.10111.00111.00111.00110.0000+[–y*]補(bǔ)01.1110余數(shù)為負(fù),上商00.1101恢復(fù)余數(shù)00.1001余數(shù)為正,上商1+[–y*]補(bǔ)1.0110011.0010011+[–y*]補(bǔ)解:被除數(shù)(余數(shù))商說明[x]原
=1.1011[y]原
=1.1101①x0
y0=1
1=0②x=–0.1011
y=–0.1101求[]原
xy例6.2410.1011恢復(fù)后的余數(shù)0+[y*]補(bǔ)[y*]補(bǔ)
=0.1101[–y*]補(bǔ)
=1.0011邏輯左移邏輯左移6.3++++0.010101余數(shù)為正,上商1被除數(shù)(余數(shù))商說明1.00110.11011.001110.1010011+[–y*]補(bǔ)1.1101011
余數(shù)為負(fù),上商0恢復(fù)余數(shù)1.010001101+[–y*]補(bǔ)0.01110110
余數(shù)為正,上商1=0.1101x*y*∴[]原xy=0.1101上商5次第一次上商判溢出余數(shù)為正上商1余數(shù)為負(fù)上商0,恢復(fù)余數(shù)移4次100.1010恢復(fù)后的余數(shù)011
01+[y*]補(bǔ)邏輯左移6.3邏輯左移+++(2)不恢復(fù)余數(shù)法余數(shù)Ri>0上商“1”,2Ri
–y*余數(shù)Ri<0上商“0”,
Ri
+y*恢復(fù)余數(shù)2(Ri+y*)–y*=2Ri
+y*加減交替
恢復(fù)余數(shù)法運(yùn)算規(guī)則
不恢復(fù)余數(shù)法運(yùn)算規(guī)則上商“1”2Ri–y*
上商“0”2Ri+y*(加減交替法)6.3x=–0.1011y=–0.1101求[]原xy解:例6.250.10111.00110.11011.00111.00110.11010.0000+[–y*]補(bǔ)01.1110余數(shù)為負(fù),上商01.110001+[y*]補(bǔ)00.1001余數(shù)為正,上商1+[–y*]補(bǔ)1.0010011+[–y*]補(bǔ)+[y*]補(bǔ)0.101001111.1010011010.010101余數(shù)為正,上商10.01110110余數(shù)為正,上商11.1101011余數(shù)為負(fù),上商0[x]原
=1.1011[y*]補(bǔ)
=0.1101[–y*]補(bǔ)
=1.0011[y]原
=1.11011101邏輯左移6.3[x*]補(bǔ)
=0.1011邏輯左移邏輯左移邏輯左移+++++①x0
y0=1
1=0②x*y*=0.1101∴=0.1101[]原xy上商n+1次例6.25結(jié)果特點(diǎn)用移位的次數(shù)判斷除法是否結(jié)束第一次上商判溢出移n
次,加n+1次6.36.4浮點(diǎn)四則運(yùn)算一、浮點(diǎn)加減運(yùn)算x=Sx
·2jxy=Sy
·2jy1.對(duì)階(1)求階差(2)對(duì)階原則Δj=jx
–jy=jx=jy
已對(duì)齊jx>
jy
jx<
jy
x
向
y
看齊y
向
x
看齊x
向
y
看齊y
向
x
看齊小階向大階看齊Sx1,Sy1,Sx1,Sy1,=0>0<0
jx–1jy+1jx+1jy–1例如x=0.1101
×
201
y=(–0.1010)
×
211求x
+
y解:[x]補(bǔ)
=00,01;00.1101[y]補(bǔ)
=00,11;11.01101.對(duì)階[Δj]補(bǔ)
=[jx]補(bǔ)
–[jy]補(bǔ)=00,0111,0111,10階差為負(fù)(–
2)[Sx]補(bǔ)'
=
00.0011[Sy]補(bǔ)=11.011011.1001∴Sx2jx+2∴[x+y]補(bǔ)
=00,11;11.1001②對(duì)階[x]補(bǔ)'=
00,11;00.0011++對(duì)階后的[Sx]補(bǔ)'
6.4①求階差2.尾數(shù)求和3.規(guī)格化(1)規(guī)格化數(shù)的定義(2)規(guī)格化數(shù)的判斷r=2≤|S|<1
12S>0真值原碼補(bǔ)碼反碼規(guī)格化形式S<0規(guī)格化形式真值原碼補(bǔ)碼反碼0.1×××…0.1×××…0.1×××…0.1×××…原碼不論正數(shù)、負(fù)數(shù),第一數(shù)位為1補(bǔ)碼符號(hào)位和第一數(shù)位不同–0.1××
×…1.1×××…1.0×××…1.0×××…6.4特例S=–=–0.1000
12…∴[–]補(bǔ)不是規(guī)格化的數(shù)12S=–1∴[–1]補(bǔ)是規(guī)格化的數(shù)[S]原
=1.1000…[S]補(bǔ)
=1.1000…[S]補(bǔ)
=1.0000…6.4(3)左規(guī)(4)右規(guī)尾數(shù)左移一位,階碼減1,直到數(shù)符和第一數(shù)位不同為止上例[x+y]補(bǔ)
=00,11;11.1001左規(guī)后[x+y]補(bǔ)
=00,10;11.0010∴x+y=(–0.1110)×210
當(dāng)尾數(shù)溢出(>1)時(shí),需右規(guī)即尾數(shù)出現(xiàn)01.×××或10.×××?xí)r……尾數(shù)右移一位,階碼加16.4例6.27x=0.1101×
210
y=0.1011×
201求x
+y(除階符、數(shù)符外,階碼取3位,尾數(shù)取6位)
解:[x]補(bǔ)
=00,010;00.110100[y]補(bǔ)
=00,001;00.101100①對(duì)階②尾數(shù)求和[Δj]補(bǔ)
=[jx]補(bǔ)
–[jy]補(bǔ)
=00,01011,111100,001階差為+1∴Sy1,jy+1∴[y]補(bǔ)'=00,010;00.010110[Sx]補(bǔ)
=00.110100[Sy]補(bǔ)'
=00.010110對(duì)階后的[Sy]補(bǔ)'01.001010++尾數(shù)溢出需右規(guī)6.4③右規(guī)[x
+y]補(bǔ)
=00,010;01.001010[x
+y]補(bǔ)
=00,011;00.100101右規(guī)后∴x
+y=0.100101
×
2114.舍入在對(duì)階和右規(guī)過程中,可能出現(xiàn)尾數(shù)末位丟失引起誤差,需考慮舍入(1)0舍
1入法
(2)
恒置“1”法6.45.溢出判斷
設(shè)機(jī)器數(shù)為補(bǔ)碼,尾數(shù)為規(guī)格化形式,并假設(shè)階符取2位,階碼的數(shù)值部分取7位,數(shù)符取2位,尾數(shù)取n
位,則該補(bǔ)碼在數(shù)軸上的表示為上溢下溢上溢
對(duì)應(yīng)負(fù)浮點(diǎn)數(shù)
對(duì)應(yīng)正浮點(diǎn)數(shù)00,1111111;11.000…00,1111111;00.111…11,0000000;11.0111…11,0000000;00.1000…2127×(–1)–2-128×(2-1+2-n)2-128×2-12127×(1–2-n)最小負(fù)數(shù)最大負(fù)數(shù)最小正數(shù)最大正數(shù)0階碼01,××···×
階碼01,××···×階碼10,××···×按機(jī)器零處理6.4二、浮點(diǎn)乘除運(yùn)算x=Sx
·2jxy=Sy
·2jy1.乘法x
·
y=(Sx
·Sy)×2jx+jy2.除法xy=SxSy×2jx
–
jy(1)階碼采用補(bǔ)碼定點(diǎn)加(乘法)減(除法)運(yùn)算(2)尾數(shù)乘除同定點(diǎn)運(yùn)算4.浮點(diǎn)運(yùn)算部件階碼運(yùn)算部件,尾數(shù)運(yùn)算部件3.步驟(3)規(guī)格化6.46.5算術(shù)邏輯單元一、ALU
電路組合邏輯電路
Ki
不同取值
Fi
不同四位ALU74
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)衛(wèi)工程合同范例
- 保利綠化維護(hù)合同范例
- 空調(diào)代理協(xié)議合同范例
- 定設(shè)備合同范例
- 廣告彩合同范例
- 2024年桶裝水節(jié)水技術(shù)改造與設(shè)備供應(yīng)服務(wù)協(xié)議3篇
- 出租農(nóng)田魚塘合同范例
- 轉(zhuǎn)租出兌合同范例
- 慶典訂購(gòu)花籃合同范例
- 陜西航空職業(yè)技術(shù)學(xué)院《數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 鈴木教學(xué)法在我國(guó)鋼琴教學(xué)中的應(yīng)用研究 開題
- 掘進(jìn)迎頭預(yù)防冒頂片幫安全技術(shù)措施
- 【MOOC】操作系統(tǒng)及Linux內(nèi)核-西安郵電大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 全新危險(xiǎn)廢物運(yùn)輸安全協(xié)議(2024版)3篇
- 混凝土輸送泵車安全操作規(guī)程(4篇)
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題
- 2024年網(wǎng)格員考試題庫完美版
- 2020年度圖書館中級(jí)職稱專業(yè)技術(shù)資格考試題庫
- 南京工業(yè)大學(xué)甲醇制氫工藝設(shè)計(jì)(反應(yīng)器)
- 農(nóng)業(yè)氣象學(xué)-作業(yè)3-國(guó)開(ZJ)-參考資料
- 口腔門診內(nèi)外營(yíng)銷培訓(xùn)
評(píng)論
0/150
提交評(píng)論