第3章運算方法和運算部件(1)-表示及加減_第1頁
第3章運算方法和運算部件(1)-表示及加減_第2頁
第3章運算方法和運算部件(1)-表示及加減_第3頁
第3章運算方法和運算部件(1)-表示及加減_第4頁
第3章運算方法和運算部件(1)-表示及加減_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第3章運算方法和運算部件3本章知識要點1.掌握數(shù)據(jù)信息的表示方法,包括原碼、補(bǔ)碼、反碼及定、浮點數(shù)的表示方法;2.掌握定點數(shù)的加、減、乘、除運算方法,了解浮點運算方法;3.掌握定點運算器的組成與結(jié)構(gòu),了解浮點運算器的基本結(jié)構(gòu);4.掌握奇偶校驗、海明校驗,了解循環(huán)冗余校驗。43.1數(shù)據(jù)的表示方法和轉(zhuǎn)換3.1.1數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換計算機(jī)中使用二進(jìn)制計數(shù)制基2碼:在物理上容易實現(xiàn)編碼、計數(shù)、加減運算規(guī)則簡單基2碼中的0和1與邏輯上的真與假對應(yīng)51、(進(jìn)位計)數(shù)制進(jìn)位計數(shù)制:用少量的數(shù)字符號(也稱數(shù)碼),按先后次序把它們排成數(shù)位,由低到高進(jìn)行計數(shù),計滿進(jìn)位,這樣的方法稱為進(jìn)位計數(shù)制基數(shù):進(jìn)位制的基本特征數(shù),即所用到的數(shù)字符號個數(shù)。例如,十進(jìn)制:0~9十個數(shù)碼表示,基數(shù)為10權(quán):進(jìn)位制中各位“1”所表示的值為該位的權(quán)常見的進(jìn)位制:2,8,10,16進(jìn)制6十進(jìn)制(Decimal)基數(shù):10;符號:0,1,2,3,4,5,6,7,8,9計算規(guī)律:“逢十進(jìn)一”或“借一當(dāng)十”并列表示:N10=dn-1dn-2???d1d0.d-1d-2???d-m十進(jìn)制數(shù)的多項式表示:N10=dn-1×10n-1+

dn-2×10n-2+

???d1×101+

d0×100+

d-1×10-1+

d-2×10-2+???d-m×10-mm,n為正整數(shù),其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。Di表示第i位的系數(shù),10i稱為該位的權(quán)。7例如:一個十進(jìn)制數(shù)123.45的表示123.45=1×102+2×101+3×100+4×10-1+5×10-2等式左邊為并列表示法,等式右邊為多項式表示法8二進(jìn)制(Binary)基數(shù):2符號:0,1計算規(guī)律:逢二進(jìn)一或借一當(dāng)二二進(jìn)制的多項式表示:N2=dn-1×2n-1+

dn-2×2n-2+

????d1×21+

d0×20+

d-1×2-1+

d-2×2-2+???d-m×2-m

其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。Di表示第i位的系數(shù),2i稱為該位的權(quán).

9

二進(jìn)制數(shù)(N)2按多項式展開,可計算得該數(shù)的十進(jìn)制值。 (1101.0101)2=(1·23+1·22+0·21+1·20+0·2-1+1·2-2+0·2-3+1·2-4)10=(8+4+0+1+0+0.25+0+0.0625)10=(13.3125)1010十六進(jìn)制(Hexadecimal)基數(shù):16符號:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F計算規(guī)律:逢十六進(jìn)一或借一當(dāng)十六十六進(jìn)制的多項式表示:

N16=dn-1×16n-1+

dn-2×16n-2+

???d1×161+

d0×160+

d-1×16-1+

d-2×16-2+???d-m×16-m

其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。Di表示第i位的系數(shù),16i稱為該位的權(quán).11例如十六進(jìn)制數(shù)(2C7.1F)16的表示(2C7.1F)16=2×162+12×161+7×160+1×16-1+15×16-212八進(jìn)制(Octal)基數(shù):8符號:0,1,2,3,4,5,6,7(15.24)8=(1·81+5·80+2·8-1+4·8-2)10=(8+5+0.25+0.0625)10=(13.3125)102、不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換1)R進(jìn)制轉(zhuǎn)換成十進(jìn)制的方法按權(quán)展開法:先寫成多項式,然后計算十進(jìn)制結(jié)果.N=dn-1dn-2???d1d0d-1d-2???d-m=dn-1×Rn-1+

dn-2×Rn-2+

???d1×R1+d0×R0+

d-1×R-1+

d-2×R-2+???d-m×R-m14

例如:寫出(1101.01)2,(237)8,(10D)16的十進(jìn)制數(shù)(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2=8+4+1+0.25=13.25(237)8=2×82+3×81+7×80=128+24+7=159(10D)16=1×162+13×160=256+13=269152)十進(jìn)制轉(zhuǎn)換成二進(jìn)制方法

一般分為兩個步驟:整數(shù)部分的轉(zhuǎn)換除2取余法(基數(shù)除法)減權(quán)定位法小數(shù)部分的轉(zhuǎn)換乘2取整法(基數(shù)乘法)16除基取余法:把給定的除以基數(shù),取余數(shù)作為最低位的系數(shù),然后繼續(xù)將商部分除以基數(shù),余數(shù)作為次低位系數(shù),重復(fù)操作直至商為0

例如:用基數(shù)除法將(327)10轉(zhuǎn)換成二進(jìn)制數(shù)21631281124012200210025022121001(327)10=(101000111)22327余數(shù)17減權(quán)定位法

將十進(jìn)制數(shù)依次從二進(jìn)制的最高位權(quán)值進(jìn)行比較,若夠減則對應(yīng)位置1,減去該權(quán)值后再往下比較,若不夠減則對應(yīng)位為0,重復(fù)操作直至差數(shù)為0。例如:將(327)10轉(zhuǎn)換成二進(jìn)制數(shù)256<327<512

327-256=711 71<1280 71-64=71 7<320 7<160 7<80 7-4=31 3-2=11 1-1=0119乘基取整法(小數(shù)部分的轉(zhuǎn)換)

把給定的十進(jìn)制小數(shù)乘以2,取其整數(shù)作為二進(jìn)制小數(shù)的第一位,然后取小數(shù)部分繼續(xù)乘以2,將所的整數(shù)部分作為第二位小數(shù),重復(fù)操作直至得到所需要的二進(jìn)制小數(shù)20例如:將(0.8125)10轉(zhuǎn)換成二進(jìn)制小數(shù). 整數(shù)部分

2×0.8125=1.6251 2×0.625=1.251 2×0.25=0.50 2×0.5=11 (0.8125)10=(0.1101)221例如:將(0.2)10轉(zhuǎn)換成二進(jìn)制小數(shù)

整數(shù)部分0.2×2=0.4

00.4×2=0.8 00.8×2=1.6 10.6×2=1.2 10.2×2=0.4 00.4×2=0.8 00.8×2=1.6 10.6×2=1.2 1(0.2)10=[0.001100110011….]222二<-->八 二<-->十六00000000010008001100011100190102001021010A0113001131011B1004010041100C1015010151101D1106011061110E1117011171111F3)其它進(jìn)制之間的直接轉(zhuǎn)換法23八進(jìn)制轉(zhuǎn)換二進(jìn)制例如:(123.46)8 =(001,010,011.100,110)2 =(1010011.10011)224二進(jìn)制轉(zhuǎn)換成十六進(jìn)制

例:(110110111.01101)2(10110111.01101)2=(1B7.68)16十六進(jìn)制:1B7.68二進(jìn)制:0001,1011,0111.0110,1000二進(jìn)制:1,1011,0111.0110,125十六進(jìn)制轉(zhuǎn)換成二進(jìn)制例如:(7AC.DE)16 =(0111,1010,1100.1101,1110)2 =(11110101100.1101111)2263.數(shù)據(jù)符號的表示

數(shù)據(jù)的數(shù)值通常以正(+)負(fù)(-)號后跟絕對值來表示,稱之為“真值”。在計算機(jī)中正負(fù)號也需要數(shù)字化,一般用0表示正號,1表示負(fù)號。正號有時可省略。273.1.2十進(jìn)制數(shù)的編碼與運算

4位二進(jìn)制數(shù)有16種不同的組合,從中選出10種對十進(jìn)制數(shù)位編碼(1)有權(quán)碼

表示一位十進(jìn)制數(shù)的二進(jìn)制碼每一位有確定的權(quán)。

BCD(BinaryCodedDecimal)

8421,2421,5211284位有權(quán)碼十進(jìn)制數(shù)8421碼2421碼5211碼4311碼0000000000000000010001000100010001200100010001100113001100110101010040100010001111000501011011100001116011011001010101170111110111001100810001110111011109100111111111111129兩個一位BCD碼運算結(jié)果修正:

小于等于(9)10,不修正。否則,進(jìn)行加6修正。① 1+8=9 0001 +1000 1001不需要修正② 4+9=13 0100 +1001 1101 +0110修正

10011 進(jìn)位30(2)無權(quán)碼

表示一個十進(jìn)制數(shù)位的二進(jìn)制碼的每一位沒有確定的權(quán)。

用得較多的是余3碼(Excess-3Code)和格雷碼(GrayCode),格雷碼又稱“循環(huán)碼”。

余3碼是在8421碼基礎(chǔ)上加3(0011)而形成的,其運算規(guī)則是:

當(dāng)兩個余3碼相加不產(chǎn)生進(jìn)位時,應(yīng)從結(jié)果中減去0011;產(chǎn)生進(jìn)位時,應(yīng)將進(jìn)位信號送入高位,本位加0011。

例3.11(28)10+(55)10=(83)1031 0101 1011 (28)10 +)10001 1000 (55)10 1110 0011

低位向高位產(chǎn)生進(jìn)位,

高位不產(chǎn)生進(jìn)位。

-)0011+)0011

低位+3,高位-3。 1011 0110 格雷碼的編碼規(guī)則:任何兩個相鄰編碼只有一個二進(jìn)制位不同,而其余三個二進(jìn)制位相同。其優(yōu)點是從一個編碼變到下一個相鄰編碼時,只有1位發(fā)生變化,用它構(gòu)成計數(shù)器時可得到更好的譯碼波形。格雷碼的編碼方案有多種,表3.3給出兩組常用的編碼值。南華大學(xué)計算機(jī)學(xué)院32表3.24位無權(quán)碼十進(jìn)制數(shù)余3碼格雷碼(1)格雷碼(2)0001100000000101000001010020101001101103011000100010401110110101051000111010116100110100011710101000000181011110010019110001001000333.2帶符號的二進(jìn)制數(shù)據(jù)在計算機(jī)中的表示方法和加減法運算真值與機(jī)器數(shù)真值:正、負(fù)符號加二進(jìn)制絕對值機(jī)器數(shù):在機(jī)器中使用的連同數(shù)符一起數(shù)碼化的數(shù)。即在計算機(jī)中表示的帶符號的二進(jìn)制數(shù)。機(jī)器數(shù)有三種表示方式:原碼、補(bǔ)碼和反碼。34

例:設(shè)機(jī)器字為8位字長,用一位數(shù)碼0表示正號,1表示負(fù)號。數(shù)N1的真值為(+1001110),數(shù)N2的真值為(-1001110),則N1,N2對應(yīng)的機(jī)器數(shù)為:0100111011001110符號數(shù)值部分353.2.1原碼、補(bǔ)碼、反碼及其加減法運算1.原碼表示法原碼的最高位作為符號位,用“0”表示正號,用“l(fā)”表示負(fù)號,有效值部分用二進(jìn)制的絕對值表示。簡單地說:原碼=符號+絕對值小數(shù):X1>X≥0

[X]原=

1-X=1+|X|0≥X>-1完成下列數(shù)的真值到原碼的轉(zhuǎn)換X1=+0.1011011X2=-0.1011011

[X1]原=0.1011011[X2]原=1.1011011整數(shù):

X2n-1-1≥X≥0[X]原=2n-1-X=2n-1+|X|0≥X≥-(2n-1-1)完成下列數(shù)的真值到原碼的轉(zhuǎn)換X1=+01011011X2=-01011011[X1]原=01011011[X2]原=11011011南華大學(xué)計算機(jī)學(xué)院38帶符號數(shù)的原碼表示39原碼小數(shù)的表示范圍[+0]原=0.0000000;[-0]原=1.0000000最大值:1-2-(n-1);最小值:-(1-2-(n-1))表示數(shù)的個數(shù):2n-

1原碼小數(shù)取值范圍的精確定義:X1-2-(n-1)≥X≥0

[X]原=

(書上P37:1>X≥0)1-X=1+|X|0≥X≥-(1-2-(n-1))40

若二進(jìn)制原碼小數(shù)的位數(shù)分別是8、16位,求其該數(shù)表示的最大值、最小值及所能表示數(shù)的個數(shù)?8位:127/128,-127/128,25516位:32767/32768,-32767/32768,6553541原碼整數(shù)的表示范圍[+0]原=00000000[-0]原=10000000最大值:2(n-1)-1最小值:-(2(n-1)-1)表示數(shù)的個數(shù):2n-

142

若二進(jìn)制的位數(shù)分別是8、16,求其表示的最大值、最小值及表示數(shù)的個數(shù)8位:127,-127,25516位:32767,-32767,6553543已知原碼求真值:

去掉原碼的符號位得到該數(shù)的絕對值,再根據(jù)符號位配以相應(yīng)的符號即得該數(shù)的真值。44例:已知原碼求真值[x1]原=10110101 [x2]原=01010110 [x3]原=1.0110101[x1]原=10110101X1=-0110101B=-(25+24+22+1)=-53[x2]原=01010110x2=+1010110B=26+24+22+2=86[x3]原=1.0110101X3=-(0.0110101B)=-(2-2+2-3+2-5+2-7)=-0.414145原碼特點:表示簡單,易于同真值之間進(jìn)行轉(zhuǎn)換,實現(xiàn)乘除運算規(guī)則簡單。進(jìn)行加減運算十分麻煩。462.補(bǔ)碼表示法模:就是計量器具的容量,或稱模數(shù)。對于n位數(shù)來說,其模數(shù)M的大小是:n位數(shù)全為1后再在最末位加1。如果某數(shù)有n位整數(shù)(包括1位符號位),則它的模數(shù)為2n;如果是n位小數(shù)(包括1位符號位),則它的模數(shù)總是為2.4位字長的機(jī)器表示的二進(jìn)制整數(shù)為:0000~1111共16種狀態(tài),模為16=24在計算機(jī)中,若運算結(jié)果大于等于模數(shù),則說明該值已超過了機(jī)器所能表示的范圍,模數(shù)自然丟掉。47補(bǔ)碼定義為機(jī)器數(shù)的最高位作為符號位,用“0”表示正號,用“l(fā)”表示負(fù)號。正數(shù)的補(bǔ)碼就是正數(shù)的本身,負(fù)數(shù)的補(bǔ)碼是模減去該數(shù)的絕對值。小數(shù):X1>X≥0[x]補(bǔ)=2+X=2-|X|0>X≥-1完成下列數(shù)的真值到補(bǔ)碼的轉(zhuǎn)換X1=+0.1011011X2=-0.1011011[X1]補(bǔ)=01011011[X2]補(bǔ)=10100101整數(shù):X2(n-1)-1

≥X≥0

[x]補(bǔ)=2n+X=2n-|X|0>X≥-2(n-1)完成下列數(shù)的真值到補(bǔ)碼的轉(zhuǎn)換X1=+01011011X2=-01011011[X1]補(bǔ)=01011011[X2]補(bǔ)=1010010150補(bǔ)碼的表示范圍:N位純整數(shù):2n-1-1

~

-2n-1N位純小數(shù):1-2-(n-1)~-1

均能表示2n個數(shù)51帶符號數(shù)的原碼和補(bǔ)碼表示52真值零真值零的補(bǔ)碼是唯一的,即 [+0]補(bǔ)=[-0]補(bǔ)=0…053求補(bǔ)碼的方法正數(shù)的補(bǔ)碼等于其原碼,即符號+絕對值。負(fù)數(shù)的補(bǔ)碼:根據(jù)定義:模+X或模-|X|求反加1:先寫出該數(shù)的原碼,保持符號位不變,其余各位對應(yīng)求反,且在末尾加1。先寫出與該負(fù)數(shù)對應(yīng)的正數(shù)的補(bǔ)碼表示,將其按位求反(包括符號位),且在末尾加1。54例1:X1=+0.1011,X2=-0.1011,字長為8位則[x1]補(bǔ)=0.1011000[x2]補(bǔ)=2-0.1011000=1.0101000或:先寫出該數(shù)的原碼:1.1011000再保持符號位不變,其余各位對應(yīng)求反:1.0100111最后在末尾加1:1.0101000又或:先寫出與該負(fù)數(shù)對應(yīng)的正數(shù)的補(bǔ)碼表示:0.1011000

將其按位求反(包括符號位):1.0100111

最后在末尾加1:1.010100055例2:X1=+1011,X2=-1011,字長為8位則[x1]補(bǔ)=00001011[x2]補(bǔ)=28-0001011=100000000-00001011=11110101或:先寫出該數(shù)的原碼:10001011再保持符號位不變,其余各位對應(yīng)求反:11110100最后在末尾加1:11110101又或:先寫出與該負(fù)數(shù)對應(yīng)的正數(shù)的補(bǔ)碼表示:

00001011

將其按位求反(包括符號位):11110100

最后在末尾加1:1111010156原碼與補(bǔ)碼之間的轉(zhuǎn)換原碼求補(bǔ)碼正數(shù)[X]補(bǔ)=[X]原負(fù)數(shù)符號除外,各位取反,末位加1例:X=-01001001[X]原=11001001,[X]補(bǔ)=10110110+1=10110111[X]補(bǔ)=28+X=100000000-1001001=10110111100000000-10010011011011157已知補(bǔ)碼求真值正數(shù):補(bǔ)碼的數(shù)值即其真值。負(fù)數(shù):對負(fù)數(shù)的補(bǔ)碼作“求補(bǔ)運算”可得其數(shù)值(絕對值),配以符號即得真值?!扒笱a(bǔ)運算”即“求反加1”。58例:已知補(bǔ)碼求真值[y1]補(bǔ)=10111111[y2]補(bǔ)=1.1101011[y3]補(bǔ)=01101011解:|y1|=01000000+1=01000001y1=-01000001B=-65|y2|=0.0010100+0.0000001=0.0010101y2=-0.0010101B=-0.1641|y3|=01101011y3=+01101011B=10759由[X]補(bǔ)求[-X]補(bǔ)(求機(jī)器負(fù)數(shù))

運算過程是連同符號一起將各位取反,末位再加1。設(shè)字長N=8位例:X=+1001001 [X]補(bǔ)=01001001 [-X]補(bǔ)=1011011160減法運算轉(zhuǎn)換成加法運算[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)例如X=(11)10=(1011)2

Y=(5)10=(0101)2已知字長n=5位[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)=01011+11011=100110=00110=(6)10注:最高1位已經(jīng)超過字長故應(yīng)丟掉圖3.1實現(xiàn)加法運算的邏輯示例當(dāng)執(zhí)行加法時,應(yīng)提供的控制信號有:A→ALU,B→ALU(從B寄存器的各觸發(fā)器的Q端輸出),ALU

→A

62符號位與有效值一起參加運算 由于原碼、反碼存在(+0)和(-0),減法運算時符號位和有效值采用相同運算規(guī)則會出現(xiàn)錯誤。 補(bǔ)碼只有一個零,符號位與有效值可以一起參加運算(如圖3.1)。63補(bǔ)碼的優(yōu)點⑴使符號位能與有效值部分一起參加運算,從而簡化運算規(guī)則.⑵使減法運算轉(zhuǎn)換為加法運算,進(jìn)一步簡化計算機(jī)中運算器的線路設(shè)計643.反碼表示法正數(shù):反碼與原碼、補(bǔ)碼的表示形式相同.負(fù)數(shù):符號位與原碼、補(bǔ)碼的符號位定義相同,只是將原碼的數(shù)值位按位變反。小數(shù):X1>X≥0[X]反=(2-2-(n-1))+X0≥X>-1X1=+0.1011011,[X1]反=0.1011011X2=-0.1011011,[X2]反=1.0100100

1.1111111-

0.10110111.0100100

66整數(shù)X2n-1>X≥0[X]反=(2n-1)+X0≥X>-2n-1X3=+1011011,[X3]反=01011011X4=-1011011,[X4]反=10100100

11111111-101101110100100 [+0]反=00000000;[-0]反=1111111167帶符號數(shù)的原碼、補(bǔ)碼和反碼表示68已知反碼求真值正數(shù):反碼的數(shù)值即其真值。負(fù)數(shù):對負(fù)數(shù)的反碼求反可得其數(shù)值(絕對值),配以符號即得真值。南華大學(xué)計算機(jī)學(xué)69碼制表示法小結(jié)[X]原、[X]反、[X]補(bǔ)用“0”表示正號,用“1”表示負(fù)號;如果X為正數(shù),則[X]原=[X]反=[X]補(bǔ)。如果X為0,則[X]補(bǔ)有唯一編碼,[X]原、[X]反有兩種編碼。移碼:與補(bǔ)碼的形式相同,只是符號位相反。4.數(shù)據(jù)從補(bǔ)碼和反碼表示形式轉(zhuǎn)換成原碼原碼←→反碼:按位取反;原碼←→補(bǔ)碼:按位取反,末位加1;

求補(bǔ):在計算機(jī)中,用串行電路按位從低位向高位,直到第一個1各位都不變,以后的各位按位取反,最后符號位不變。70715.整數(shù)的表示形式設(shè)X=Xn…X2X1X0,其中Xn為符號位。72無符號數(shù)的表示

在數(shù)據(jù)處理的過程中,如不需要設(shè)置符號位可用全部字長來表示數(shù)值大小。如8位無符號數(shù)的取值范圍是0~255(28-1)。733.2.2加減法運算的溢出處理1、什么是溢出?當(dāng)運算結(jié)果超出機(jī)器數(shù)所能表示的范圍時,稱為溢出。顯然,兩個異號數(shù)相加或兩個同號數(shù)相減,其結(jié)果是不會溢出的。僅當(dāng)兩個同號數(shù)相加或者兩個異號數(shù)相減時,才有可能發(fā)生溢出的情況。例:若機(jī)器的字長為5,請分析下列各運算結(jié)果是否有溢出:①9+8=?②-8+(-9)=?③(-8)+7=?④15+(-4)=?南華大學(xué)計算機(jī)學(xué)院742、溢出條件及實現(xiàn)邏輯方法一:fA,fB表示兩操作數(shù)(A、B)的符號位,fS為結(jié)果的符號位。若兩正數(shù)相加結(jié)果為負(fù)或兩負(fù)數(shù)相加結(jié)果為正,都有溢出產(chǎn)生。即:正溢:兩正數(shù)相加,結(jié)果為負(fù)。負(fù)溢:兩負(fù)數(shù)相加,結(jié)果為正。75A=10B=710+7:01010

0011110001A=-10B=-7-10+(-7):011111011011001溢出!!正溢負(fù)溢76方法二:當(dāng)任意符號兩數(shù)相加時,如果C=Cf,運算結(jié)果正確,其中C為數(shù)值最高位的進(jìn)位,Cf為符號位的進(jìn)位。如果C≠Cf,則為溢出,即:當(dāng)最高位和次高位不是同時產(chǎn)生進(jìn)位,則結(jié)果溢出77正確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=011111178方法三:

采用雙符號位fS2,fS1。正數(shù)的雙符號位為00,負(fù)數(shù)的雙符號位為11。符號位參與運算,當(dāng)結(jié)果的兩個符號位fS1、fS2不相同時,為溢出。即:fs2fs1:00—結(jié)果為正,無溢出01-正溢10-負(fù)溢11-結(jié)果為負(fù),無溢出不論溢出與否,結(jié)果符號為fs2.79(1)3+2:正確000011000010000101(2)10+7:001010000111010001正溢正確負(fù)溢正確正確(3)-3+(-2):110111111101111110(4)-10+(-7):101111110110111001(5)6+(-4):000010

000110111100(6)-6+4:111110111010000100第一符號位Sf2第一符號位Sf2多符號位的補(bǔ)碼采用多符號位的補(bǔ)碼稱為“變形補(bǔ)碼”;

如采用雙符號位:

模:小數(shù)m=4、整數(shù)m=2n+2一般運算時用雙符號位,存儲時只保留一個符號;正常情況下兩個符號位保持一致,一旦溢出,產(chǎn)生出錯信號,調(diào)用中斷處理。813.2.3定點數(shù)和浮點數(shù)

計算機(jī)中小數(shù)的小數(shù)點并不是用某個數(shù)字來表示的,而是用隱含的小數(shù)點的位置來表示的。根據(jù)小數(shù)點的位置是否固定,又可分為定點表示和浮點表示。821.定點數(shù)(1)定點小數(shù)隱含小數(shù)點位置83最小負(fù)數(shù)最大負(fù)數(shù)最小正數(shù)最大正數(shù)表示范圍:二進(jìn)制原碼1.11111111.00000011.00000000.00000000.00000010.1111111二進(jìn)制補(bǔ)碼1.00000001.00000011.11111110.00000000.00000010.1111111二進(jìn)制反碼1.00000001.11111101.11111110.00000000.00000010.11111110二進(jìn)制原碼:二進(jìn)制補(bǔ)碼:二進(jìn)制反碼:84(2)定點整數(shù)

將小數(shù)點固定在數(shù)的最低位之后,這就是定點整數(shù)形式。其格式如下:隱含小數(shù)點位置85表示范圍:二進(jìn)制原碼111111111000000110000000000000000000000101111111二進(jìn)制補(bǔ)碼100000001000000111111111000000000000000101111111二進(jìn)制反碼1000000011111110111111110000000000000001011111110最小負(fù)數(shù)最大負(fù)數(shù)最小正數(shù)最大正數(shù)二進(jìn)制原碼:二進(jìn)制補(bǔ)碼:二進(jìn)制反碼:862、浮點數(shù)浮點的表示形式:即小數(shù)點的位置不固定,是浮動的。87

移碼(增碼)表示法移碼也叫增碼,它常以整數(shù)形式用在計算機(jī)浮點數(shù)的階碼(表示指數(shù))中。若純整數(shù)X為n位(包括符號位),則其移碼定義為:[X]移=2n-1+[X]補(bǔ),-2n-1≤X≤2n-1-1

或[X]移=2n-1+X求移碼的方法:①根據(jù)定義;②將該數(shù)補(bǔ)碼的符號位求反即得該數(shù)的移碼。88例1:設(shè)字長為8位,若x=-1000

則:[X]補(bǔ)=11111000

[X]移=27+[X]補(bǔ)=10000000+11111000=01111000

或=10000000+(-1000)=01111000

或:將其補(bǔ)碼的符號位求反即得:01111000

89例2:設(shè)字長為8位,若x=+1000

則:[X]補(bǔ)=00001000

[X]移=27+[X]補(bǔ)=10000000+00001000=10001000

或=10000000+(+1000)=10001000

或?qū)⑵溲a(bǔ)碼的符號位求反即得:10001000

90已知移碼求真值:1)X=[X]移-2n-1X>0或X=-(2n-1

-[X]移)X<02)將該數(shù)移碼符號位求反得到該數(shù)的補(bǔ)碼,再根據(jù)已知補(bǔ)碼求真值的方法求得該數(shù)的真值。91例:已知移碼求真值①

[X]移=10001000,則: X=10001000-10000000=+00001000B

或:[X]補(bǔ)=00001000

X=00001000B

②[X]移=01111000,則:X=01111000-10000000=-(10000000-01111000)=-00001000B

或:[X]補(bǔ)=11111000

|X|=00001000

X=-00001000B92帶符號數(shù)的四種編碼表示注意:移碼的大小變化與真值一致(由小到大),最小值為全零。93(1)浮點數(shù)的表示格式把

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論