




版權(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ù)邏輯單元數(shù)據(jù)信息控制信息數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)指令信息等表示一個(gè)數(shù)值數(shù)據(jù)要確定三個(gè)要素:進(jìn)位計(jì)數(shù)制;數(shù)的編碼表示(正負(fù)號(hào));定/浮點(diǎn)表示。例:要求<10-2
,完成下面轉(zhuǎn)換
(617.28)10=()21001101001.01000112-n≤<10-2n=76.1無符號(hào)數(shù)和有符號(hào)數(shù)一、無符號(hào)數(shù)寄存器的位數(shù)反映無符號(hào)數(shù)的表示范圍8位0~25516位0~65535符號(hào)數(shù)字化:0表示正號(hào),1表示負(fù)號(hào)。機(jī)器數(shù):數(shù)值數(shù)據(jù)在計(jì)算機(jī)內(nèi)部編碼表示的數(shù)。真值:機(jī)器數(shù)真正的值(即:原來帶有正負(fù)號(hào)的數(shù))。常用的編碼表示:原碼、反碼、補(bǔ)碼和移碼。二、有符號(hào)數(shù)符號(hào)能否一起參與運(yùn)算?帶符號(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ù)與真值純小數(shù)整數(shù)定點(diǎn)數(shù)2.原碼表示法(1)定義整數(shù)x
為真值n
為整數(shù)的位數(shù)[x]原=0,x2n
>
x
≥02n
x0≥
x
>2n例:n=4,+1011→01011-1011→10000-(-1011)=11011例:+0.1011→0.1011-0.1011→1-(-0.1011)=1.1011小數(shù)x
為真值x1>
x
≥0[x]原=1–x0≥
x
>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ù)補(bǔ)碼表示例子9999999(汽車上的里程表)補(bǔ)碼表示9999999(汽車上的里程表)0000000123當(dāng)表上的數(shù)字是999999.9時(shí),再行進(jìn)0.1公里,里程表顯示的是000000.0。由于999999+1=000000,(從儀表盤上看到的結(jié)果),所以從算術(shù)運(yùn)算的角度看,這里999999的作用相當(dāng)于-1。這就說明,當(dāng)限制數(shù)據(jù)的表示長(zhǎng)度時(shí),要得到一個(gè)與正整數(shù)k對(duì)應(yīng)的負(fù)數(shù),等于要得到的那個(gè)數(shù)加上這個(gè)正整數(shù)之后等于0。稱之為求補(bǔ)。上例中,要得到1的負(fù)數(shù)表示-1,就是看哪個(gè)數(shù)加上1后等于0。這個(gè)數(shù)便是999999。Why???121234567891011121234567891011另一個(gè)例子3+5=83-7=8Mod12補(bǔ)碼的概念加法器刻度:表示數(shù)。動(dòng)作:進(jìn)行運(yùn)算順時(shí)針撥動(dòng)指針:加逆時(shí)針撥動(dòng)指針:減計(jì)算1+2=?計(jì)算2-1=?9-3=?9+9=?9+9=18
=12+6→6(mod12自然丟掉)-3的補(bǔ)數(shù)是903695421781011刻度盤壞了,只能順時(shí)針撥動(dòng)指針求2+203695421781011能作減法,但結(jié)果不能為負(fù)數(shù)求2-1求2-3怎樣讓加法器的計(jì)算結(jié)果可以有負(fù)數(shù)重新標(biāo)注刻度求2+2求2-1求2-30369-6-5-4-3-2-154217810111234501.在模為12的加法中,有多少個(gè)刻度?
能表示的數(shù)有哪些?3.在2進(jìn)制中,8個(gè)二進(jìn)制位能表示多少個(gè)狀態(tài)(刻度)?4.用8位2進(jìn)制能表示哪些數(shù)?問題0128255-128-10127127129-127結(jié)論一個(gè)負(fù)數(shù)加上“模”即得該負(fù)數(shù)的補(bǔ)數(shù)一個(gè)正數(shù)和一個(gè)負(fù)數(shù)互為補(bǔ)數(shù)時(shí)它們絕對(duì)值之和即為模
數(shù)計(jì)數(shù)器(模16)–10110000+010110111000010110000?可見1011可用+0101代替同理011自然去掉記作1011(mod24)≡+0101(mod23)≡+101+
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,??補(bǔ)碼如何求得的?1011(mod24)可見?補(bǔ)數(shù)+01010101010110110101+(mod24+1)100000=(3)補(bǔ)碼定義整數(shù)x
為真值n
為整數(shù)的位數(shù)[x]補(bǔ)=0,x2n
>
x
≥02n+1+x0
>
x
≥2n(mod2n+1)小數(shù)x
為真值[x]補(bǔ)=x1>
x
≥02+
x
0>
x
≥1(mod2)(4)求補(bǔ)碼的快捷方式當(dāng)真值為負(fù)時(shí),補(bǔ)碼可用原碼除符號(hào)位外每位取反,末位加1求得注意:整數(shù)的-1和小數(shù)的-1如8位數(shù):整數(shù)的-1:11111111小數(shù)的-1:1.00000004.反碼表示法(1)定義整數(shù)[x]反=0,x2n>x≥0(2n+1–1)+x0≥x>2n(mod2n+1
1)x
為真值n
為整數(shù)的位數(shù)小數(shù)[x]反=x1>x≥0(2–2-n)+x0≥x>1(mod22-n)x
為真值n為小數(shù)的位數(shù)用于由原碼求補(bǔ)碼或由補(bǔ)碼求原碼的中間過渡三種機(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.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…+0設(shè)機(jī)器數(shù)字長(zhǎng)為8位(其中1位為符號(hào)位)對(duì)于整數(shù),當(dāng)其分別代表無符號(hào)數(shù)、原碼、補(bǔ)碼和反碼時(shí),對(duì)應(yīng)的真值范圍各為多少?例6.2p226
解:已知[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…每位取反,即得[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ǔ)碼(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,01100(2)移碼和補(bǔ)碼的比較設(shè)x=+1100100[x]移=27+1100100[x]補(bǔ)=0,1100100設(shè)x=–1100100[x]移=27
–1100100[x]補(bǔ)=1,0011100補(bǔ)碼與移碼只差一個(gè)符號(hào)位=1,1100100=0,00111001001-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+11111000000111111000000100000
當(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=000000[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)小數(shù)機(jī)器數(shù)定點(diǎn)整數(shù)機(jī)器數(shù)原碼補(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ù)(基值)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)制表示(固定不變,不需要占浮點(diǎn)數(shù)的代碼)有效數(shù),Significand記階表示法1.浮點(diǎn)數(shù)的表示形式n
反映浮點(diǎn)數(shù)的精度m
反映浮點(diǎn)數(shù)的表示范圍jf
和m
共同表示小數(shù)點(diǎn)的實(shí)際位置jf
j1
j2
jm
Sf
S1S2
Sn
……j
階碼S
尾數(shù)階符數(shù)符階碼的數(shù)值部分尾數(shù)的數(shù)值部分小數(shù)點(diǎn)位置純小數(shù),常用原碼或補(bǔ)碼表示純整數(shù),常用移碼或補(bǔ)碼表示決定將數(shù)擴(kuò)大還是縮小決定符號(hào)數(shù)的正負(fù)號(hào)尾數(shù)規(guī)格化:規(guī)定尾數(shù)的最高數(shù)位必須是一個(gè)有效值。例2:若某浮點(diǎn)數(shù)格式如下,字長(zhǎng)為32位;階碼8位,含一位階符,補(bǔ)碼表示,以2為底;尾數(shù)為24位,含一位數(shù)符,補(bǔ)碼表示,規(guī)格化。若浮點(diǎn)數(shù)為A368000016,求其真值。階符1階碼j數(shù)符1尾數(shù)S解:先將A368000016展為二進(jìn)制表示:10100011
0110100000000000000000002得:階數(shù)j=(10100011
)補(bǔ)=(11011101)原尾數(shù)S=0.110100000000000000000002∴N=0.8125×2﹣93例1:按上述某浮點(diǎn)數(shù)格式:字長(zhǎng)為32位;階碼8位,含一位階符,補(bǔ)碼表示,以2為底;尾數(shù)為24位,含一位數(shù)符,補(bǔ)碼表示,規(guī)格化。將﹣1011.11012寫成浮點(diǎn)數(shù)的格式。階符1階碼j數(shù)符1尾數(shù)S解:先將寫成規(guī)格化數(shù):﹣0.101111012×2100得:階數(shù)j=(100)=(00000100)原尾數(shù)S=1.10111101000000000000000原
=1.01000011000000000000000補(bǔ)∴N=04A1800016三、舉例例6.3將+寫成二進(jìn)制定點(diǎn)數(shù)、浮點(diǎn)數(shù)及在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。字長(zhǎng)16位,其中數(shù)值部分均取10位,數(shù)符取1位,浮點(diǎn)數(shù)階碼取5位(含1位階符)。13128解:設(shè)
x=+13128二進(jìn)制形式定點(diǎn)表示浮點(diǎn)規(guī)格化形式[x]原=1,0011;0.1101000000[x]補(bǔ)=1,1101;0.1101000000[x]反=1,1100;0.1101000000定點(diǎn)機(jī)中浮點(diǎn)機(jī)中000x=0.0001101x=0.0001101x=0.110100000×2-11[x]原=[x]補(bǔ)=[x]反=0.0001101000將–54表示成二進(jìn)制定點(diǎn)數(shù)和浮點(diǎn)數(shù),并寫出它在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的三種機(jī)器數(shù)及階碼為移碼、尾數(shù)為補(bǔ)碼的形式(其他要求同上例)。x=–1101100000例6.4解:設(shè)
x=–54二進(jìn)制形式定點(diǎn)表示浮點(diǎn)規(guī)格化形式[x]原=1,0000110110[x]補(bǔ)=1,1111001010[x]反=1,1111001001[x]原=0,0110;1.1101100000[x]補(bǔ)=0,0110;1.0010100000[x]反=0,0110;1.0010011111定點(diǎn)機(jī)中浮點(diǎn)機(jī)中[x]階移、尾補(bǔ)=1,0110;1.0001100000x=–110110x=–(0.1101100000)×2110例如:最大正數(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(二進(jìn)制)尾數(shù)規(guī)格化后的浮點(diǎn)數(shù)表示范圍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ī)器零處理2-15
×2-10
Sf
S1S2
Sn…數(shù)符數(shù)值部分小數(shù)點(diǎn)位置Sf
S1S2
Sn…數(shù)符數(shù)值部分小數(shù)點(diǎn)位置或定點(diǎn)機(jī)器數(shù)定點(diǎn)小數(shù)機(jī)器數(shù)定點(diǎn)整數(shù)機(jī)器數(shù)原碼補(bǔ)碼–(1–2-n)~+(1–2-n)–(2n
–1)~+(2n
–1)–1~+(1–2-n)–2n~+(2n
–1)浮點(diǎn)數(shù)的原碼表示范圍最大正數(shù):當(dāng)Sf=0,jf=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù))時(shí):最小正數(shù):當(dāng)Sf=0,jf=1,尾數(shù)的最低位Sn=1,其余各位為0(即階碼為絕對(duì)值最大的負(fù)數(shù),尾數(shù)為最小正數(shù))時(shí):浮點(diǎn)數(shù)的原碼表示范圍(續(xù))絕對(duì)值最大負(fù)數(shù):當(dāng)jf=0,階碼的數(shù)值位為全1;Sf=1,尾數(shù)的數(shù)值位為全0(即階碼為最大正數(shù),尾數(shù)為絕對(duì)值最大的負(fù)數(shù))時(shí):規(guī)格化后的原碼表示范圍規(guī)格化后的補(bǔ)碼表示范圍例6.5:最大正數(shù)=(1–2–10)×215201111×0.111111111110個(gè)1最小正數(shù)最大負(fù)數(shù)最小負(fù)數(shù)=2–1×2–16=–1×215=–2–1×2–16210000×0.10000000009個(gè)0210000×(1.1000000000)9個(gè)0201111×(
1.0000000000)10個(gè)1設(shè)m=4,n=10,r=2(二進(jìn)制)尾數(shù)規(guī)格化后的浮點(diǎn)數(shù)補(bǔ)碼表示范圍練習(xí)
設(shè)機(jī)器數(shù)字長(zhǎng)為24位,欲表示±3萬的十進(jìn)制數(shù),試問在保證數(shù)的最大精度的前提下,除階符、數(shù)符各取1位外,階碼、尾數(shù)各取幾位?滿足最大精度可取
m=4,n=18解:…m=4,5,6,15位二進(jìn)制數(shù)可反映±3萬之間的十進(jìn)制數(shù)∴215
=32768214
=16384∵215×0.×××
×××15位…
當(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ī)器零為(階碼=16)jf
j1
j2
jm
Sf
S1S2
Sn
……j
階碼S
尾數(shù)階符數(shù)符階碼的數(shù)值部分尾數(shù)的數(shù)值部分小數(shù)點(diǎn)位置四、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.3定點(diǎn)運(yùn)算計(jì)算機(jī)進(jìn)行算術(shù)運(yùn)算的特點(diǎn):(1)所有數(shù)據(jù)都是用二進(jìn)制數(shù)位形式來表示的。(2)數(shù)是以編碼形式即機(jī)器數(shù)來表示的。(3)只能用有限的數(shù)碼位數(shù)來表示操作數(shù)和操作結(jié)果?!\(yùn)算就要解決運(yùn)算方法、數(shù)據(jù)表示格式及數(shù)據(jù)長(zhǎng)度的選取、規(guī)定等問題。(4)運(yùn)算時(shí),把復(fù)雜的運(yùn)算,簡(jiǎn)化為一系列的、最基本的運(yùn)算實(shí)現(xiàn)。計(jì)算機(jī)可以實(shí)現(xiàn)的基本運(yùn)算有算術(shù)運(yùn)算(加、減、乘、除等)和邏輯運(yùn)算(與、或、異或等)。計(jì)算機(jī)的一個(gè)重要特點(diǎn)是它只能用有限的數(shù)碼位數(shù)來表示操作數(shù)和操作結(jié)果。
定點(diǎn)加、減法運(yùn)算只有在遵守模運(yùn)算規(guī)則的限制條件下其結(jié)果才是正確的,否則就會(huì)出現(xiàn)結(jié)果“溢出”。1.移位的意義左移絕對(duì)值擴(kuò)大右移絕對(duì)值縮小在計(jì)算機(jī)中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運(yùn)算一、移位運(yùn)算邏輯移位數(shù)碼位置變化,無數(shù)值大小。(1)移位類型10001111循環(huán)左移:0001
111111000111循環(huán)右移:邏輯移位無符號(hào)數(shù)的移位邏輯左移邏輯右移低位添0,高位移丟高位添0,低位移丟00算術(shù)移位循環(huán)移位算術(shù)移位有符號(hào)數(shù)的移位算術(shù)移位:數(shù)碼位置變化,數(shù)值變化,符號(hào)位不變。1001111算術(shù)左移:1
011110(-15)(-30)算術(shù)右移:1000111
(-7)例如
01010011邏輯左移10100110邏輯右移01011001算術(shù)左移算術(shù)右移0010011011011001(補(bǔ)碼)高位1移丟010100110Cy0101001110110010移位寄存器:在寄存器中移位(串行接口中)。D4D3D2D1D4D3D2右移左移D3D2D1硬件實(shí)現(xiàn)單符號(hào)位:0011101110
雙符號(hào)位:001110
000111(2)正數(shù)補(bǔ)碼移位規(guī)則移位規(guī)則左移右移右移0
01110
0011左移左移右移右移011100
00111000
0111數(shù)符不變(單:符號(hào)位不變;雙:第一符號(hào)位不變)??瘴谎a(bǔ)0(右移時(shí)第二符號(hào)位移至尾數(shù)最高位)。單符號(hào)位:1101110110
雙符號(hào)位:101100
110110(3)負(fù)數(shù)補(bǔ)碼移位規(guī)則移位規(guī)則左移右移右移1
10111
1101左移右移右移11
011011
1011數(shù)符不變(單:符號(hào)位不變;雙:第一符號(hào)位不變)。左移空位補(bǔ)0(第二符號(hào)位移至尾數(shù)最高位)。右移空位補(bǔ)1注:第二符號(hào)位在乘除法運(yùn)算中可以暫存一位有效數(shù)值2.算術(shù)移位規(guī)則1右移添1左移添00反碼補(bǔ)碼原碼負(fù)數(shù)0原碼、補(bǔ)碼、反碼正數(shù)添補(bǔ)代碼碼制符號(hào)位不變111110000110雙符號(hào)位時(shí),易出錯(cuò)處:001110左右011100正確:110110101100001100011100正確:001110111100左正確:101100右110110正確:3.算術(shù)移位的硬件實(shí)現(xiàn)(a)真值為正(b)負(fù)數(shù)的原碼(c)負(fù)數(shù)的補(bǔ)碼(d)負(fù)數(shù)的反碼00010丟1丟1出錯(cuò)影響精度出錯(cuò)影響精度正確影響精度正確正確數(shù)用補(bǔ)碼表示,符號(hào)位參加運(yùn)算。結(jié)果需不需修正?補(bǔ)碼運(yùn)算中如何將減法轉(zhuǎn)換為加法?
在補(bǔ)碼方法下,無論X、Y是正數(shù)還是負(fù)數(shù),加、減法運(yùn)算統(tǒng)一采用加法來處理;二、加減法運(yùn)算1.基本關(guān)系式
(X+Y)補(bǔ)
=X補(bǔ)
+Y補(bǔ)(1)
(X-Y)補(bǔ)=X補(bǔ)
+(-Y)補(bǔ)(2)式(1):操作碼為“加”時(shí),兩數(shù)直接相加。2)X=–3Y=–2
X補(bǔ)=11101Y補(bǔ)=1111011011(–5補(bǔ)碼)1)X=3Y=2
X補(bǔ)=00011Y補(bǔ)=0001000101(+5補(bǔ)碼)例.求(X+Y)補(bǔ)3)X=3Y=–2
X補(bǔ)=00011Y補(bǔ)=1111000001(+1補(bǔ)碼)4)X=–3Y=2
X補(bǔ)=11101Y補(bǔ)=0001011111(–1補(bǔ)碼)∴操作碼為“加”時(shí),兩數(shù)直接相加。
(X-
Y)補(bǔ)
=X補(bǔ)
+(-Y)補(bǔ)(2)式(2):操作碼為“減”時(shí),將減轉(zhuǎn)換為加。Y補(bǔ)
(–Y)補(bǔ):將Y補(bǔ)變補(bǔ)不管Y補(bǔ)為正或負(fù),將其符號(hào)連同尾數(shù)一起各位變反,末位加1。即將減數(shù)變補(bǔ)后與被減數(shù)相加。1)X=4Y=–5
X補(bǔ)=00100Y補(bǔ)=11011(-Y)補(bǔ)=0010101001(+9補(bǔ)碼)2)X=–4Y=5
X補(bǔ)=11100Y補(bǔ)=00101(-Y)補(bǔ)=1101110111(–9補(bǔ)碼)例.求(X–Y)補(bǔ)
X補(bǔ)=00100
Y補(bǔ)=11011
X補(bǔ)=11100
Y補(bǔ)=00101注意:某數(shù)的補(bǔ)碼表示與某數(shù)變補(bǔ)的區(qū)別。例.1010111011補(bǔ)碼表示1001101101變補(bǔ)
0010100101補(bǔ)碼表示符號(hào)位不變;負(fù)數(shù)尾數(shù)改變,正數(shù)尾數(shù)不變。0001111101變補(bǔ)符號(hào)位改變,尾數(shù)改變。補(bǔ)碼的機(jī)器負(fù)數(shù)不考慮操作數(shù)的符號(hào)補(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.8例6.11◆例:已知[X]補(bǔ)=01010,[Y]補(bǔ)=01010,n=4[X+Y]補(bǔ)=(01010+01010)MOD24=10100溢出◆例:已知[X]補(bǔ)=10010,[Y]補(bǔ)=00100[X-Y]補(bǔ)=(10010+11100)MOD24=01110溢出
[10]10+[10]10=
[20]10>15產(chǎn)生上溢
[-14]10-[4]10=
[-18]10<-16產(chǎn)生下溢3.溢出判斷SB溢出=SASfSASfSB(1)一位符號(hào)位判溢出最高有效位的進(jìn)位符號(hào)位的進(jìn)位=1設(shè): 符號(hào)位進(jìn)位Cf 尾數(shù)的最高位進(jìn)位C溢出正確0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正確負(fù)溢正確正確(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:111101101000100Cf=0C=0Cf=0C=1Cf=1C=1Cf=1C=0Cf=1C=1Cf=0C=0111111(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無溢出溢出(2)兩位符號(hào)位判溢出結(jié)果的雙符號(hào)位相同
未溢出結(jié)果的雙符號(hào)位不同
溢出最高符號(hào)位代表其真正的符號(hào)00.×××××11.×××××10.×××××01.×××××00,×××××11,×××××10,×××××01,×××××▲運(yùn)算結(jié)果的兩個(gè)符號(hào)位不一致時(shí),產(chǎn)生溢出。采用雙符號(hào)位的補(bǔ)碼稱為變形補(bǔ)碼(1)3+2:正確00001100001000
0101(2)10+7:001010000111010001正溢正確負(fù)溢正確正確(3)-3+(-2):110111111101111110(4)-10+(-7):101111110110111001(5)6+(-4):000010000110111100(6)-6+4:11
111011
1010000100第一符號(hào)位Sf1第二符號(hào)位Sf24.補(bǔ)碼加減法的硬件配置V0
A
nGAGS
加法器(n+1)溢出判斷求補(bǔ)控制邏輯0
X
nA、X均n+1位用減法標(biāo)記GS
控制求補(bǔ)邏輯例6.15練習(xí)P2916.19三、乘法運(yùn)算1、原碼一位乘法每次用一位乘數(shù)去乘被乘數(shù)。(1)算法分析例.0.1101×1.1011乘積P=|X|×|Y|積符X原Y原
0.1101×1.1011
1101
1101
00001101加上符號(hào):
1.10001111部分積問題:1)符號(hào)位單獨(dú)處理
2)乘數(shù)的某一位決定是否加被乘數(shù)3)4個(gè)位積一起相加,加數(shù)增多(由乘數(shù)位數(shù)決定)。
4)加數(shù)的位數(shù)增多(與被乘數(shù)、乘數(shù)位數(shù)有關(guān))。改進(jìn):將一次相加改為分步累加。0.10001111手算分步乘法每次將一位乘數(shù)所對(duì)應(yīng)的部分積與原部分積的累加和相加,并移位。設(shè)置寄存器:
A:存放部分積累加和、乘積高位
X:存放被乘數(shù)
Q:存放乘數(shù)、乘積低位
設(shè)置初值:
A=00.0000X=|X|=00.1101Q=|Y|=.1011
步數(shù)條件操作AQ
00.0000.1011
1)Qn=1+XQn+00.110100.1101
0.1101×0.1011
1101110100001101
0.10001111XQ
1101
00.01101.101
0.1101×0.10112)Qn=1+X+00.110101.001100.100111.10
0.1101×0.1011
0.1101×0.1011
1101110100001101
0.10001111XQ3)Qn=0+0+00.000000.100100.0100111.14)Qn=1+X+00.110101.000100.10001111X原×Y原=1.10001111(2)運(yùn)算規(guī)則操作數(shù)、結(jié)果用原碼表示;絕對(duì)值運(yùn)算,符號(hào)單獨(dú)處理;被乘數(shù)(B)、累加和(A)取雙符號(hào)位;乘數(shù)末位(Cn)為判斷位,其狀態(tài)決定下步操作;作n次循環(huán)(累加、右移)。X×Y=0.1101×1.1011→0.1101×0.1011=X×(2-1Y1+
2-2Y2+
2-3Y3+
2-4Y4)=X×{2-1[(Y1+
2-1(Y2+
2-1(Y3+
2-1Y4))]}=2-1(Y1X
+
2-1(Y2X
+
2-1(Y3X
+
2-1Y4X
))=2-1(1×
X
+
2-1(0×X
+
2-1(1×X
+
2-1(1×X
+0)))Z0Z1Z2Z3Z4原碼乘法的遞推表達(dá)式X原×Y原=X原(0.Y1Y2…Yn-1Yn)=X原(2-1Y1+2-2Y2+…+2-(n-1)Yn-1+2-nYn)=X原(2-1(Y1+2-1(Y2+…2-1(Yn-1+2-1Yn)…)=2-1(Y1X原+2-1(Y2X原+…+2-1(Yn-1X原+2-1YnX原)…)令Z0=0Z2=2-1(Z1+Yn-1X原)Zn=2-1(Zn-1+Y1X原)……Z1=2-1(Z0+YnX原)小結(jié)被乘數(shù)只與部分積的高位相加
由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加,然后1位形成新的部分積,同時(shí)乘數(shù)
1
位(末位移丟),空出高位存放部分積的低位。硬件3
個(gè)寄存器,具有移位功能1
個(gè)全加器乘法運(yùn)算可用加和移位實(shí)現(xiàn)
n=4,加4次,移4次算法流程0A、XX、YQ、nCQn=1?C=0?(A+X)/2A,Q(A+0)/2A,Q
C-1CYYNN
Sx+SyS(3)原碼一位乘的硬件配置A、X、Q均n+1位移位和加受末位乘數(shù)控制0
An加法器控制門0
Xn
移位和加控制計(jì)數(shù)器CSGM0Qn右移原碼乘法的遞推表達(dá)式X原×Y原=X原(0.Y1Y2…Yn-1Yn)=X原(2-1Y1+2-2Y2+…+2-(n-1)Yn-1+2-nYn)=X原(2-1(Y1+2-1(Y2+…2-1(Yn-1+2-1Yn)…)=2-1(Y1X原+2-1(Y2X原+…+2-1(Yn-1X原+2-1YnX原)…)令Z0=0Z2=2-1(Z1+Yn-1X原)Zn=2-1(Zn-1+Y1X原)……Z1=2-1(Z0+YnX原)4.補(bǔ)碼乘法(1)算法分析
X補(bǔ)
=X0.X1X2……XnY為正:Y補(bǔ)
=0.Y1Y2……Yn
(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)Y為負(fù):Y補(bǔ)
=1.Y1Y2……Yn
(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)Y符號(hào)任意:
(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)Y0符號(hào)位P2521.00……→-1展開為部分積的累加和形式:(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)+(-X)補(bǔ)Y0
=X補(bǔ)(0.Y1Y2……Yn)-X補(bǔ)Y0
=X補(bǔ)(-Y0+2Y1+2
Y2+……+2Yn)-1
-2
-n
=X補(bǔ)
-Y0+(Y1-2Y1)+(2Y2-2Y2)+……-1
-1-2-(n-1)-n
+(2Yn-2Yn)
=X補(bǔ)
(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2
+2(0-Yn)-n
+2(0-Yn)-nYn+1
=X補(bǔ)
(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2
+2(0
-Yn)-nYn+1比較法(Booth算法)
:用相鄰兩位乘數(shù)比較的結(jié)果決定+X補(bǔ)、-X補(bǔ)或+0。
=X補(bǔ)
(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2
+2(0
-Yn)-nYn+1設(shè)[Z0]補(bǔ)為初始部分積,則上式可寫成遞推形式:[Z0]補(bǔ)=0[Z1]補(bǔ)=2-1{[Z0]補(bǔ)+(Yn+1-Yn)[X]補(bǔ)}[Z2]補(bǔ)=2-1{[Z1]補(bǔ)+(Yn-Yn-1)[X]補(bǔ)}[XY]補(bǔ)=[Zn]補(bǔ)+(Y1-Y0)[X]補(bǔ)(2)運(yùn)算實(shí)例X=-0.1101,Y=-0.1011,求(XY)補(bǔ)。初值:A=00.0000,X=X補(bǔ)=11.0011,
-X=(-X)補(bǔ)=00.1101,Q=Y補(bǔ)=1.0101比較法算法Yn(高位)Yn+1(低位)操作(A補(bǔ)為部分積累加和)00011011
1/2·Z補(bǔ)
1/2·
(Z補(bǔ)+X補(bǔ))1/2·
(Z補(bǔ)-X補(bǔ))1/2·Z補(bǔ)(0)(1)(-1)(0)步數(shù)條件操作AQ
00.00001.0101
1)10-XQn+00.110100.110100.011011.01012)01+X+11.001111.100111.1100111.0103)10-X+00.110100.100100.01001111.014)01+X+11.001111.011111.101111111.00
Qn+1QnQn+15)10-X+00.1101(XY)補(bǔ)
=0.100011114)01+X+11.001111.011111.101111111.05)10-X+00.110100.10001111修正1.0:-X修正0.1:+X修正0.0:不修正1.1:不修正(1)A、X取雙符號(hào)位,符號(hào)參加運(yùn)算;(2)Q取單符號(hào)位,符號(hào)參加移位,以決定最后是否修正;(3)Q末位設(shè)置附加位Qn+1,初值為0,QnQn+1組成判斷位,決定運(yùn)算操作;(4)作n步循環(huán),若需作第n+1步,則不移位,僅修正。運(yùn)算規(guī)則設(shè)n=8(不包括符號(hào)位),則原碼一位乘需做
A次移位和最多
B次加法,補(bǔ)碼Booth算法需做
C次移位和最多
D次加法。(2)Booth算法的硬件配置A、X、Q均n+2位移位和加受末兩位乘數(shù)控制0An+1n+2位加法器控制門0Xn+10Qn
n+1移位和加控制邏輯計(jì)數(shù)器CGM00,110110右移乘法小結(jié)原碼乘符號(hào)位單獨(dú)處理補(bǔ)碼乘符號(hào)位自然形成原碼乘去掉符號(hào)位運(yùn)算即為無符號(hào)數(shù)乘法不同的乘法運(yùn)算需有不同的硬件支持整數(shù)乘法與小數(shù)乘法完全相同可用逗號(hào)代替小數(shù)點(diǎn)除法加減和移位操作。例.手工計(jì)算0.10110÷0.111110.10110
11010.01
111110.111110001
11111
1010101
11111
101100.00000.0.商:0.10110余數(shù):0.10110×2
5實(shí)現(xiàn)除法的關(guān)鍵:比較余數(shù)和除數(shù)的絕對(duì)值大小,以決定上商。四、除法運(yùn)算◆除法步驟:①被除數(shù)與除數(shù)比較,決定上商。若被除數(shù)小,上商0;否則上商1。得到部分余數(shù)。②將除數(shù)右移,再與上一步部分余數(shù)比較,決定上商,并且求得新的部分余數(shù)。③重復(fù)執(zhí)行第②步,直到求得的商的位數(shù)足夠?yàn)橹埂?/p>
商的符號(hào)為相除兩數(shù)符號(hào)的“異或”值,商的數(shù)值為兩數(shù)的絕對(duì)值之商?!?/p>
原碼一位除法規(guī)律
原碼一位除法運(yùn)算與原碼一位乘法運(yùn)算一樣,要區(qū)分符號(hào)位和數(shù)值位兩部分。除法運(yùn)算的特點(diǎn)結(jié)果分為兩個(gè)部分:商和余數(shù)由于機(jī)器數(shù)表示范圍的限制,除法開始時(shí),應(yīng)該先判斷除法是否可能造成溢出,即除法的商值是否能在表示范圍之內(nèi)除法運(yùn)算的基本思路:從被除數(shù)中試探減除數(shù),通過判斷余數(shù)的真假(是否夠減)來決定商的值◆計(jì)算機(jī)中實(shí)現(xiàn)二個(gè)正數(shù)除法時(shí),有幾點(diǎn)不同于手算:①比較運(yùn)算用減法來實(shí)現(xiàn),由減法結(jié)果的正負(fù)來判斷兩數(shù)的大小。結(jié)果為正,商1;結(jié)果為負(fù),商0。②
減法運(yùn)算時(shí),加法器中兩數(shù)的對(duì)齊是用部分余數(shù)左移實(shí)現(xiàn),并與除數(shù)比較,以代替除數(shù)右移(手算時(shí))與部分余數(shù)比較。左移出界的部分余數(shù)的高位都是0,對(duì)運(yùn)算不會(huì)產(chǎn)生任何影響。③
在計(jì)算機(jī)中,每一次上商過程都是把商寫入商值寄存器的最低位,然后部分余數(shù)和商一起左移,騰空商寄存器的最低位以備上新的商。◆采用部分余數(shù)減去除數(shù)的方法比較兩者的大小,當(dāng)減法結(jié)果為負(fù),即上商0時(shí),破壞了部分余數(shù)??刹扇煞N措施?;謴?fù)余數(shù)的除法不恢復(fù)余數(shù)的除法(加減交替法)浮點(diǎn)數(shù)真值6.4浮點(diǎn)四則運(yùn)算x=Sx
·2jx浮點(diǎn)數(shù)機(jī)器格式:jf
j1
j2
jm
Sf
S1S2
Sn
……j
階碼S
尾數(shù)階符數(shù)符階碼的數(shù)值部分尾數(shù)的數(shù)值部分小數(shù)點(diǎn)位置10.012×0.10012×0.110123110.1010.01110.1例:2×0.010132×0.11013對(duì)階一、浮點(diǎn)加減運(yùn)算步驟:1檢測(cè)能否簡(jiǎn)化操作。判操作數(shù)是否為0尾數(shù)為0階碼下溢x=Sx
·2jxy=Sy
·2jy2對(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–12×0.10012×0.1101232×0.0100132×0.11013小階碼加1;尾數(shù)右移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)∴Sx2jx+2②對(duì)階[x]補(bǔ)'=
00,11;00.0011+①求階差[Sx]補(bǔ)'
=
00.0011[Sy]補(bǔ)=11.011011.1001∴[x+y]補(bǔ)=00,11;11.1001+對(duì)階后的[Sx]補(bǔ)'
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×××…原碼不論正數(shù)、負(fù)數(shù),第一數(shù)位為1補(bǔ)碼符號(hào)位和第一數(shù)位不同–0.1××
×…1.1×××…1.0×××…特例S=–=–0.1000
12…∴[–]補(bǔ)不是規(guī)格化的數(shù)12S=–1∴[–1]補(bǔ)是規(guī)格化的數(shù)[S]原=1.1000…[S]補(bǔ)=1.1000…[S]補(bǔ)=1.0000…(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ù)右移一位,階碼加1浮點(diǎn)加減運(yùn)算步驟:1檢測(cè)能否簡(jiǎn)化操作。2.對(duì)階尾數(shù)加減3.規(guī)格化左規(guī)右規(guī)例6.29x=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ì)階[Δj]補(bǔ)=[jx]補(bǔ)
–[jy]補(bǔ)
=00,01011,111100,001階差為+1∴Sy1,jy+1∴[y]補(bǔ)'=00,010;00.010110+②尾數(shù)求和[Sx]補(bǔ)
=00.110100[Sy]補(bǔ)'
=00.010110對(duì)階后的[Sy]補(bǔ)'01.001010+尾數(shù)溢出需右規(guī)③右規(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”法例x=(–—)×2-5
y=(—)×2-45878求x
–
y(除階符、數(shù)符外,階碼取3位,尾數(shù)取6位)解:[x]補(bǔ)=11,011;11.011000[y]補(bǔ)=11,100;00.111000①對(duì)階[Δj]補(bǔ)=[jx]補(bǔ)
–[jy]補(bǔ)
=11,01100,10011,111階差為–1∴Sx1,jx+
1∴[x]補(bǔ)'=11,100;11.101100x=(–0.101000)×2-101y=(0.111000)×2-100+②尾數(shù)求和[Sx]補(bǔ)′=11.101100[–Sy]補(bǔ)=11.001000+110.110100③右規(guī):尾數(shù)右移一位,階碼加1[x–
y]補(bǔ)=11,100;10.110100[x–
y]補(bǔ)=11,101;11.011010右規(guī)后∴
x
–
y=(–0.100110)×2-11=(–—)×2-319320.1101*2-111.101*2-10011,10100.11010011,10111.1011000對(duì)階[Δj]補(bǔ)=[jx]補(bǔ)
–[jy]補(bǔ)=[jx]補(bǔ)
+[-jy]補(bǔ)
=11,10100,100
100,001階差為1∴Sy1,jy+
1+11,10011.011000尾數(shù)求和[Sx]補(bǔ)=00.110100[–Sy]補(bǔ)`=11.1011000+01.001000[–Sy]補(bǔ)`=00.010100尾數(shù)溢出需右規(guī)11,11000.100100二、浮點(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ī)格化5.溢出判斷設(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.5算術(shù)邏輯單元需解決的關(guān)鍵問題:如何以加法器為基礎(chǔ),實(shí)現(xiàn)各種運(yùn)算處理。解決思路:復(fù)雜運(yùn)算→四則運(yùn)算→加法運(yùn)算解決方法:在加法器的基礎(chǔ)上,增加移位傳送功能,并選擇輸入控制條件。加法單元i
AiBiCi-1Ci∑i(本位操作數(shù))(低位進(jìn)位)(本位進(jìn)位)(本位和)1.加法單元的輸入和輸出一、加法單元(全加器)全加器真值表AiBi
Ci-1SiCi00 0 0000 1 10
01 0 1001 1 0110 0 10101 01
11 0 0111 1 112、ALU
電路組合邏輯電路
Ki
控制信號(hào),不同取值
Fi
輸出函數(shù)四位A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 駕校免責(zé)協(xié)議書(2篇)
- 腦出血的急救護(hù)理
- 三年級(jí)英語(yǔ)下冊(cè)-教案 學(xué)習(xí)任務(wù)單 Unit 5 Seasons and Life (季節(jié)和生活)
- 2025年注冊(cè)會(huì)計(jì)師考試《會(huì)計(jì)》套期會(huì)計(jì)模擬試題解析版
- 2025年消防執(zhí)業(yè)資格考試題庫(kù):消防技術(shù)標(biāo)準(zhǔn)規(guī)范操作與維護(hù)實(shí)戰(zhàn)演練試題
- 2025年大學(xué)輔導(dǎo)員招聘考試題庫(kù):學(xué)生綜合素質(zhì)評(píng)價(jià)體系在學(xué)生心理輔導(dǎo)中的應(yīng)用試題
- 2025年房地產(chǎn)經(jīng)紀(jì)人職業(yè)資格考試模擬試卷:房地產(chǎn)經(jīng)紀(jì)人職業(yè)資格考試高頻考點(diǎn)
- 2025年小學(xué)語(yǔ)文畢業(yè)升學(xué)考試全真模擬卷(語(yǔ)文綜合素養(yǎng)拓展)-現(xiàn)代文閱讀理解解析與應(yīng)用提升試題
- 2025年鄉(xiāng)村醫(yī)生考試攻略:農(nóng)村居民健康管理服務(wù)規(guī)范專項(xiàng)試題庫(kù)
- 農(nóng)田灌溉管道覆膜維護(hù)規(guī)范
- 企業(yè)人力資源管理師知識(shí)考試題及答案
- 2025年上半年宜賓江安縣人社局招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年山東省高考物理復(fù)習(xí)方法及備考策略指導(dǎo)(深度課件)
- 2025年安徽工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整版
- 做一個(gè)指南針(課件)-二年級(jí)科學(xué)下冊(cè)教科版
- 2025至2030年中國(guó)十二烷基磺酸鈉數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 《C#程序設(shè)計(jì)基礎(chǔ)》課件
- 2024年第五屆美麗中國(guó)全國(guó)國(guó)家版圖知識(shí)競(jìng)賽題庫(kù)及答案(中小學(xué)組)
- 2025年江蘇航空職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年上海市各區(qū)初三語(yǔ)文一模試題匯編之綜合運(yùn)用
- 2023年湖北省技能高考計(jì)算機(jī)類備考題庫(kù)(萬維題庫(kù))-中部分(800題)
評(píng)論
0/150
提交評(píng)論