《計(jì)算機(jī)組成原理》教程第2章數(shù)據(jù)的表示.ppt_第1頁(yè)
《計(jì)算機(jī)組成原理》教程第2章數(shù)據(jù)的表示.ppt_第2頁(yè)
《計(jì)算機(jī)組成原理》教程第2章數(shù)據(jù)的表示.ppt_第3頁(yè)
《計(jì)算機(jī)組成原理》教程第2章數(shù)據(jù)的表示.ppt_第4頁(yè)
《計(jì)算機(jī)組成原理》教程第2章數(shù)據(jù)的表示.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余66頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)組成原理第2章 數(shù)據(jù)的表示,內(nèi)容,.數(shù)據(jù)的表示方法和轉(zhuǎn)換 .數(shù)的定點(diǎn)表示和浮點(diǎn)表示 .十進(jìn)制數(shù)的表示 .數(shù)據(jù)傳送方式和校驗(yàn),數(shù)據(jù)的表示方法和轉(zhuǎn)換,進(jìn)位計(jì)數(shù)制(進(jìn)制) 進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換,進(jìn)位計(jì)數(shù)制,進(jìn)位計(jì)數(shù)制:用少量的數(shù)字符號(hào)(也稱(chēng)數(shù)碼),按先后次序把它們排成數(shù)位,由低到高進(jìn)行計(jì)數(shù),計(jì)滿(mǎn)進(jìn)位,這樣的方法稱(chēng)為進(jìn)位計(jì)數(shù)制。 基數(shù):進(jìn)位制的基本特征數(shù),即所用到的數(shù)字符號(hào)個(gè)數(shù)。 例如10進(jìn)制 :0-9 十個(gè)數(shù)碼表示,基數(shù)為10 權(quán):進(jìn)位制中各位“1”所表示的值為該位的權(quán)。 常見(jiàn)的進(jìn)位制:2,8,10,16進(jìn)制。,十進(jìn)制(Decimal),基數(shù):10 符號(hào): 0,1,2,3,4,5,6,7,8,

2、9 計(jì)算規(guī)律:“逢十進(jìn)一”或“借一當(dāng)十” 并列表示法:N10=dn-1dn-2 d1d0d-1d-2 d-m 十進(jìn)制數(shù)的多項(xiàng)式表示: N10=dn-1 10n-1 + dn-2 10n-2 + d1 101 + d0 100 + d-1 10-1 + d-2 10-2 + d-m 10-M m,n為正整數(shù),其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。di表示第i位的系數(shù),10i稱(chēng)為該位的權(quán),10為基值.,例如: 一個(gè)十進(jìn)制數(shù)123.45的表示,123.45 =1102+ 2101+ 3 100 + 410-1+ 510-2 注:等式左邊為并列表示法,等式右邊為多項(xiàng)式表示法,二進(jìn)制(Binary),基數(shù):

3、2 符號(hào): 0,1 計(jì)算規(guī)律:逢二進(jìn)一或借一當(dāng)二 二進(jìn)制的多項(xiàng)式表示: 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稱(chēng)為該位的權(quán),2為基值.,十六進(jìn)制(Hexadecimal),基數(shù): 16 符號(hào): 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 計(jì)算規(guī)律:逢十六進(jìn)一或借一當(dāng)十六 十六進(jìn)制的多項(xiàng)式表示: N16=dn-1 16n-1 + dn-2 16n-2 + d1 161 + d0 160 + d-1 16-1 + d

4、-2 16-2 + d-m 16-m 其中n為整數(shù)位數(shù);m為小數(shù)位數(shù)。 di表示第i位的系數(shù),16i稱(chēng)為該位的權(quán).,例如十六進(jìn)制數(shù) (2C7.1F)16的表示 (2C7.1F)16=2 162+ 12 161+ 7 160+ 1 16-1+ 15 16-2,進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換,R進(jìn)制轉(zhuǎn)換成十進(jìn)制的方法 十進(jìn)制轉(zhuǎn)換成二進(jìn)制方法 二進(jìn)制和八進(jìn)制之間的轉(zhuǎn)換 二進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換,R進(jìn)制轉(zhuǎn)換成十進(jìn)制的方法,按權(quán)展開(kāi)法: 先寫(xiě)成多項(xiàng)式,然后計(jì)算十進(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-

5、1 R-1 + d-2 R-2 + d-m R-m,例,例如: 寫(xiě)出(1101.01)2,(237)8,(10D)16的十進(jìn)制數(shù) (1101.01)2=123+122+021+120+ 02-1+12-2 =8+4+1+0.25=13.25 (237)8=282+381+780 =128+24+7=159 (10D)16=1162+13160=256+13=269,十進(jìn)制轉(zhuǎn)換成二進(jìn)制方法,一般分為兩個(gè)步驟: 整數(shù)部分的轉(zhuǎn)換 除2取余法(基數(shù)除法) 減權(quán)定位法 小數(shù)部分的轉(zhuǎn)換 乘2取整法(基數(shù)乘法),(1)除基取余法,2 327 余數(shù),2 163 1,2 81 1,2 40 1,2 20 0,2

6、 10 0,2 5 0,2 2 1,2 1 0,2 0 1,(327)10 =(101000111) 2,除基取余法:把給定的數(shù)除以基數(shù),取余數(shù)作為最低位的系數(shù),然后繼續(xù)將商部分除以基數(shù),余數(shù)作為次低位系數(shù),重復(fù)操作,直至商為0。例如:用基數(shù)除法將(327)10轉(zhuǎn)換成二進(jìn)制數(shù),(2)減權(quán)定位法,將十進(jìn)制數(shù)依次從二進(jìn)制的最高位權(quán)值進(jìn)行比較,若夠減則對(duì)應(yīng)位置1,減去該權(quán)值后再往下比較,若不夠減則對(duì)應(yīng)位為0,重復(fù)操作直至差數(shù)為0。 例如:將 (327)10 轉(zhuǎn)換成二進(jìn)制數(shù) 256327512 327-256=71 1 71128 0 71-64 =7 1 732 0 716 0 78 0 7-4 =

7、3 1 3-2=1 1 1-1=0 1,乘基取整法,例如:將(0.8125) 10 轉(zhuǎn)換成二進(jìn)制小數(shù). 整數(shù)部分 2 0.8125=1.625 1 2 0.625=1.25 1 2 0.25=0.5 0 2 0.5=1 1 (0.8125) 10 =(0.1101) 2,乘基取整法:把給定的十進(jìn)制小數(shù)乘以2,取其整數(shù)作為二進(jìn)制小數(shù)的第一位,然后取小數(shù)部分繼續(xù)乘以2,將所的整數(shù)部分作為第二位小數(shù),重復(fù)操作,直至得到所需要的二進(jìn)制小數(shù)。,小數(shù)部分的轉(zhuǎn)換,例如: 將(0.2) 10 轉(zhuǎn)換成二進(jìn)制小數(shù),整數(shù)部分 0.2 2 = 0.4 0 0.4 2 = 0.8 0 0.8 2 = 1.6 1 0.6

8、 2 = 1.2 1 0.2 2 = 0.4 0 0.4 2 = 0.8 0 0.8 2 = 1.6 1 0.6 2 = 1.2 1 (0.2) 10 = 0.001100110011. 2,十進(jìn)制混合小數(shù)轉(zhuǎn)換二進(jìn)制數(shù),由整數(shù)與小數(shù)組成的十進(jìn)制數(shù),轉(zhuǎn)為二進(jìn)制數(shù)的方法: 先將整數(shù)部分用除取余法轉(zhuǎn)換為二進(jìn)制數(shù),再將小數(shù)部分用乘取整法轉(zhuǎn)為二進(jìn)制數(shù)的小數(shù)部分,再將得到的二進(jìn)制整數(shù)部分與小數(shù)部分相加,得到的和即是相應(yīng)的二進(jìn)制數(shù)據(jù). 如:(327.8125)10=101000111.1101 327= 101000111 0.8125= 0.1101,二進(jìn)制與八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,二 八 二 十六

9、000 0 0000 0 1000 8 001 1 0001 1 1001 9 010 2 0010 2 1010 A 011 3 0011 3 1011 B 100 4 0100 4 1100 C 101 5 0101 5 1101 D 110 6 0110 6 1110 E 111 7 0111 7 1111 F,二進(jìn)制轉(zhuǎn)換成八進(jìn)制,例:(10110111 .01101) 2,(10110111.01101) 2 =(267.32)8,八進(jìn)制: 2 6 7 . 3 2,二進(jìn)制: 010 ,110 , 111 . 011 , 010,二進(jìn)制: 10 ,110 , 111 . 011 , 01

10、,低位補(bǔ)零,湊足三位,高位補(bǔ)零,湊足三位,八進(jìn)制轉(zhuǎn)換二進(jìn)制,方法:直接將一位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示即可。 例如: (123.46 ) 8 =(001,010,011 .100,110 ) 2 =(1010011.10011)2,二進(jìn)制轉(zhuǎn)換成十六進(jìn)制,例:(110110111 .01101) 2轉(zhuǎn)換成16進(jìn)制。,(10110111.01101) 2 =(1B7.68)16,十六進(jìn)制: 1 B 7 . 6 8,二進(jìn)制: 0001 ,1011 , 0111 . 0110 ,1000,二進(jìn)制: 1 ,1011 , 0111 . 0110 ,1,低位補(bǔ)零,湊足四位,高位補(bǔ)零,湊足四位,十六進(jìn)制轉(zhuǎn)換成

11、二進(jìn)制,方法:一位十六進(jìn)制數(shù)用四位二進(jìn)制數(shù)表示。 例如: (7AC.DE ) 16 =(0111,1010,1100.1101,1110 ) 2 =(11110101100 .1101111 )2,二進(jìn)制的優(yōu)點(diǎn)(見(jiàn)書(shū)),運(yùn)算規(guī)則簡(jiǎn)單,易于實(shí)現(xiàn) 數(shù)的狀態(tài)簡(jiǎn)單 節(jié)省設(shè)備,判斷方便,無(wú)符號(hào)數(shù)和有符號(hào)數(shù)(補(bǔ)充),無(wú)符號(hào)數(shù)vs.有符號(hào)數(shù),無(wú)符號(hào)數(shù):不帶符號(hào)位的數(shù) 在數(shù)據(jù)處理的過(guò)程中,如不需要設(shè)置符號(hào)位可用全部字長(zhǎng)來(lái)表示數(shù)值大小。 如8位無(wú)符號(hào)數(shù)的取值范圍是0255(2-)。 可用于計(jì)數(shù)、地址指針等 有符號(hào)數(shù):帶符號(hào)位的數(shù) 若有16位寄存器 無(wú)符號(hào)數(shù):065535 一位符號(hào)位的有符號(hào)數(shù):327683276

12、7,帶符號(hào)數(shù)的編碼,真值vs.機(jī)器數(shù) 真值:正、負(fù)號(hào)加某進(jìn)制數(shù)絕對(duì)值的形式稱(chēng)為真值。 如二進(jìn)制真值: X=+1011 y=-1011 機(jī)器數(shù):符號(hào)數(shù)碼化的數(shù)稱(chēng)為機(jī)器數(shù)如 :X=01011 Y=11011,機(jī)器數(shù)的表示方法,一旦符號(hào)數(shù)字化以后,符號(hào)和數(shù)值就形成了一種新的編碼。在運(yùn)算過(guò)程中,符號(hào)位能否和數(shù)值部分一起參加運(yùn)算?如果參與運(yùn)算,符號(hào)位又需要做哪些處理?這些問(wèn)題都與符號(hào)位和數(shù)值位所構(gòu)成的編碼有關(guān)。 機(jī)器數(shù)有四種表示方法即原碼、補(bǔ)碼、反碼和移碼。,1. 原碼表示法,原碼表示法用“0”表示正號(hào),用“1”表示負(fù)號(hào),數(shù)值位用真值的絕對(duì)值表示。 整數(shù)的符號(hào)位與數(shù)值位之間用逗號(hào)“,”隔開(kāi); 小數(shù)的符號(hào)

13、位與數(shù)值位之間用小數(shù)點(diǎn)“.”隔開(kāi)。 約定: 在本章中,n表示字長(zhǎng)的有效位(數(shù)值位),X表示真值。(注意:跟書(shū)中有點(diǎn)出入),例:完成下列數(shù)的真值到原碼的轉(zhuǎn)換 X1 = + 1011011 X2 = - 1011011,X1 原 =0,1011011,X2 原 =1,1011011,整數(shù)原碼的定義,0的原碼有兩種表示方式: +0原 =0,0000000; -0原 =1,0000000 原碼整數(shù)的表示范圍: 最大值 : 2n-1-1 最小值:-(2n-1-1) 表示數(shù)的個(gè)數(shù): 2n - 1,8位: 127,-127,255 16位: 32767 , -32767 , 65535,原碼整數(shù)的表示范圍,

14、若二進(jìn)制的位數(shù)分別是8、16,其原碼表示的最大值、最小值及表示數(shù)的個(gè)數(shù)為: 注意:最高位為符號(hào)位,有效數(shù)值位分別為7、15。,原碼整數(shù)的表示范圍: 最大值 : 2n-1-1 最小值:-(2n-1-1) 表示數(shù)的個(gè)數(shù): 2n- 1,X 1X0 X原 = 1-X 0X-1,例:完成下列數(shù)的真值到原碼的轉(zhuǎn)換 X1 = + 0.1011011 X2 = - 0.1011011 0的原碼有兩種表示方式: +0原 =0.0000000; -0原 =1-0.0000000=1.0000000,X1原=0.1011011,X2原=1.1011011,小數(shù)原碼的定義,最大值 : 1-2-n 最小值:-(1-2-

15、n) 表示數(shù)的個(gè)數(shù): 2n - 1,若二進(jìn)制原碼小數(shù)的位數(shù)分別是8、16位,求其該數(shù)表示的最大值、最小值及所能表示數(shù)的個(gè)數(shù)?,8位: 127/128,-127/128,255 16位: 32767/32768 , -32767/32768 , 65535,原碼小數(shù)的表示范圍,注意:最高位為符號(hào)位,有效數(shù)值位分別為7、15。,X 1X0 X原 = 1-X 0X-1,原碼特點(diǎn),表示簡(jiǎn)單,易于同真值之間進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)乘除運(yùn)算規(guī)則簡(jiǎn)單。 進(jìn)行加減運(yùn)算十分麻煩,本來(lái)是加法運(yùn)算卻可能要用減法器實(shí)現(xiàn)。 當(dāng)兩個(gè)操作數(shù)符號(hào)不同且做加法運(yùn)算時(shí),先要判斷兩個(gè)數(shù)絕對(duì)值的大小,然后將絕對(duì)值大的數(shù)減去絕對(duì)值小的數(shù),結(jié)果的

16、符號(hào)以絕對(duì)值大的數(shù)為準(zhǔn)。 0的表示不惟一,2. 補(bǔ)碼表示法,以鐘表對(duì)時(shí)為例說(shuō)明補(bǔ)碼的概念 假設(shè)現(xiàn)在的標(biāo)準(zhǔn)時(shí)間是3點(diǎn)整,而有一只表已經(jīng)6點(diǎn)了,為了校準(zhǔn)時(shí)間,可以采用兩種方法: (1)逆時(shí)針:將時(shí)鐘退3格 (2)順時(shí)針:將時(shí)鐘向前撥9格 這兩種方法都能對(duì)準(zhǔn)到3點(diǎn)。由此可以看出,減3和加9是等價(jià)的。就是說(shuō)9是(3)對(duì)12的補(bǔ)碼,可以用數(shù)學(xué)公式表示為: -3=+9 (mod 12) (“”為取模相等) 這里12是模數(shù)。 上例中63和69之所以等價(jià),是因?yàn)楸碇羔槼^(guò)12時(shí),將12自動(dòng)丟掉,最后得到(6+9)123。 重要啟示:負(fù)數(shù)用補(bǔ)碼表示時(shí),可以把減法轉(zhuǎn)化為加法。,補(bǔ)碼的概念,模:計(jì)量器具的容量,或稱(chēng)

17、為模數(shù)。 N位字長(zhǎng)整數(shù)的模值為2N 4位字長(zhǎng)的機(jī)器表示的二進(jìn)制整數(shù)為: 00001111 共16種狀態(tài),模為16=24 。 一位符號(hào)位的純小數(shù)的模值為2 補(bǔ)碼的定義:正數(shù)的補(bǔ)碼就是正數(shù)的本身,負(fù)數(shù)的補(bǔ)碼是原負(fù)數(shù)加上模。,例:完成下列數(shù)的真值到補(bǔ)碼的轉(zhuǎn)換 X1 = + 1011011 X2 = - 1011011,X1補(bǔ)=0,1011011,X2補(bǔ)=27+1+x=1,0100101,整數(shù)補(bǔ)碼的定義,X 1X0 x補(bǔ)= 2+X 0X-1 (mod 2),例:完成下列數(shù)的真值到補(bǔ)碼的轉(zhuǎn)換 X1 = + 0.1011011 X2 = - 0.1011011,X1補(bǔ)=0.1011011,X2補(bǔ)=1.01

18、00101,小數(shù)補(bǔ)碼的定義,例:0的補(bǔ)碼 (補(bǔ)碼中“零”只有一種表示形式) + 0.0000000=0.0000000 -0.0000000=2+(-0.0000000) (mod 2) =0.000000,-1的補(bǔ)碼,不妨補(bǔ)碼的有效數(shù)值位為n 根據(jù)定義,對(duì)于整數(shù)補(bǔ)碼有:-1補(bǔ)2n+1-1=1,11111.1 (包括符號(hào)位一共n1個(gè)1) 根據(jù)定義,對(duì)于小數(shù)補(bǔ)碼有:-1補(bǔ)2+(-1.00)=1.0.0 (n個(gè)0) 由此可見(jiàn), “-1”既可以在整數(shù)范圍內(nèi)表示,也能在小數(shù)范圍內(nèi)表示,在計(jì)算機(jī)中有兩種不同的補(bǔ)碼表示。 再看負(fù)數(shù)-2n的補(bǔ)碼表示 -2n補(bǔ)2n+12n2n-11,0.0(n個(gè)0) 因此,“

19、1”的補(bǔ)碼小數(shù)表示與“2n”的補(bǔ)碼表示結(jié)構(gòu)相同,都是:符號(hào)位為1,數(shù)值部分為n個(gè)0。 “1”與“2n”分別是補(bǔ)碼小數(shù)和補(bǔ)碼整數(shù)中可以表示的最小負(fù)數(shù)。,補(bǔ)碼的表示范圍:,n位有效數(shù)值位,不包括符號(hào)位 n位整數(shù): 2n -1 -2n n位小數(shù): 1- 2-n - 1 均能表示 2n 個(gè)數(shù),原碼與補(bǔ)碼之間的轉(zhuǎn)換,正數(shù)的原碼和補(bǔ)碼一致。 對(duì)于負(fù)數(shù):設(shè)n=4, x = x1x2x3x4 x補(bǔ)=2n+1+x=10,0000-x1x2x3x4 =11111+00001 -x1x2x3x4 符號(hào)位除外,每位取反,末位加1。 對(duì)小數(shù)原碼也同樣成立。反過(guò)來(lái),由補(bǔ)碼求原碼也同樣成立。,原碼與補(bǔ)碼之間的轉(zhuǎn)換,原碼-補(bǔ)

20、碼 正數(shù) X補(bǔ)=X原 負(fù)數(shù) 符號(hào)位除外,每位取反,末位加1 例:X= -1001001 X原=1,1001001, X補(bǔ)=1,0110110+1=1,0110111 X補(bǔ)= 27+1 +X=100000000-1001001= 1,0110111 10 0 0 0 0 0 0 0 - 1 0 0 1 0 0 1 1, 0 1 1 0 1 1 1,補(bǔ)碼到真值的轉(zhuǎn)換,公式見(jiàn)P32 例x補(bǔ)=10001 (這一位表示符號(hào)位) x=-10000+0*23+0*22+0*21+1*20 1111,由X補(bǔ)求-X補(bǔ)(求機(jī)器負(fù)數(shù)),解:以小數(shù)補(bǔ)碼為例。設(shè)y補(bǔ)y0y1y2yn 第一種情況, y補(bǔ)0.y1y2yn

21、所以y= 0.y1y2yn,故-y=- 0.y1y2yn 則 -y補(bǔ)= 第二種情況, y補(bǔ)1.y1y2yn 運(yùn)算過(guò)程:連同符號(hào)一起將各位取反,末位再加1。 設(shè)字長(zhǎng)N=8位 例:X= +100 1001 X補(bǔ) = 01001001 -X補(bǔ)= 10110111,補(bǔ)碼最大的優(yōu)點(diǎn)就是將減法運(yùn)算轉(zhuǎn)換成加法運(yùn)算,X補(bǔ)-Y補(bǔ)= X補(bǔ)+-Y補(bǔ) 例如 X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字長(zhǎng)n=5位 X補(bǔ)-Y補(bǔ) =X補(bǔ)+-Y補(bǔ) =0,1011+1,1011=10,0110=0,0110=(6)10 注:最高1位已經(jīng)超過(guò)字長(zhǎng)故應(yīng)丟掉,變形補(bǔ)碼,為了便于判斷運(yùn)算結(jié)構(gòu)是否溢出,某些計(jì)

22、算機(jī)還采用了一種雙符號(hào)位的補(bǔ)碼表示方法,稱(chēng)為變形補(bǔ)碼。 假定變形補(bǔ)碼的有效數(shù)值部分位數(shù)為n,則負(fù)數(shù)變形補(bǔ)碼的表示定義為: 負(fù)整數(shù):X補(bǔ)=2n+2 - X 負(fù)小數(shù): X補(bǔ)=4 + X 因?yàn)檫@種補(bǔ)碼小數(shù)的模數(shù)為4,因此也稱(chēng)模4補(bǔ)碼。 在雙符號(hào)位中,左符是真正的符號(hào)位,右符用來(lái)判別“溢出”。,3. 反碼表示法,反碼的概念:正數(shù)的表示與原、補(bǔ)碼相同,負(fù)數(shù)的反碼符號(hào)位為1,數(shù)值位是將原碼的數(shù)值按位取反,就得到該數(shù)的反碼表示。 反碼通常用來(lái)作為原碼求補(bǔ)碼或者由補(bǔ)碼求原碼的中間過(guò)渡。,整數(shù)反碼,0,X 2n X 0 X反= (2n+1 -1)+X 0 X -2n (mod (2n+1 -1) 例: X1=+

23、1011011, X1 反 =0,1011011 X2= -1011011, X2 反 =1,0100100 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 +0反=00000000; -0反 =11111111,X 1 X 0 X反= (2- 2-n)+X 0 X -1 (mod (2-2-n) X1=+0.1011011 , X1 反 =0.1011011 X2= -0.1011011 , X2 反 =1.0100100 1. 1 1 1 1 1 1 1 - 0. 1 0 1 1 0 1 1 1. 0 1 0 0 1 0 0,小數(shù)反碼,4. 移碼

24、(增碼)表示法,移碼定義:X移= 2n + X 2nX -2n 移碼就是真值加上一個(gè)常數(shù)。,例: X1 = 101 0101 X1補(bǔ)=0,101 0101 X1移=1,101 0101 X2 = -101 0101 X2補(bǔ)=1,010 1011 X2移=0,010 1011,X=0時(shí), +0移=27+0=1,0000000 -0移=27-0=1,0000000 移碼表示中0的也是唯一的。 移碼與補(bǔ)碼符號(hào)位相反。,引入移碼的原因:當(dāng)真值用補(bǔ)碼表示時(shí),由于符號(hào)位和數(shù)值部分一起編碼,難于從補(bǔ)碼形式上直接判斷其真值的大小。 例如:x=21,y=-21,X補(bǔ)=0,0010101, y補(bǔ)=1,110101

25、1。從二進(jìn)制碼看, 會(huì)得出11101011 00010101的結(jié)論。,碼制表示法小結(jié),X原、X反 、X補(bǔ)用“0”表示正號(hào),用“1”表示負(fù)號(hào); X移用“1”表示正號(hào),用“0”表示負(fù)號(hào)。 如果X為正數(shù),則X原=X反=X補(bǔ)。 如果X為0,則X補(bǔ)、X移有唯一編碼, X原、X反有兩種編碼。 移碼與補(bǔ)碼的形式相同,只是符號(hào)位相反。,四種編碼的表示,2.2 數(shù)的定點(diǎn)表示和浮點(diǎn)表示,定點(diǎn)表示 浮點(diǎn)表示,相關(guān)概念,數(shù)值范圍:一種數(shù)據(jù)類(lèi)型所能表示的最大值和最小值。 數(shù)據(jù)精度:實(shí)數(shù)所能表示的有效數(shù)字位數(shù)。 數(shù)值范圍和數(shù)據(jù)精度均與使用多少位二進(jìn)制位數(shù)以及編碼方式有關(guān)。 計(jì)算機(jī)用數(shù)字表示正負(fù),隱含規(guī)定小數(shù)點(diǎn)。采用“定點(diǎn)

26、”、“浮點(diǎn)”兩種表示形式。,1. 數(shù)的定點(diǎn)表示方法,(1)定點(diǎn)整數(shù)小數(shù)點(diǎn)位置固定在數(shù)的最低位之后 若采用原碼,則范圍為: -(2n-1) 2n -1 (2)定點(diǎn)小數(shù)小數(shù)點(diǎn)位置固定在數(shù)的符號(hào)位之后、數(shù)值最高位之前。 若采用原碼,則范圍為:-(1-2-n) 1-2-n 其中n表示數(shù)值位的位數(shù)。,數(shù)符,數(shù)值部分,小數(shù)點(diǎn)位置,數(shù)符,數(shù)值部分,或,小數(shù)點(diǎn)位置,把字長(zhǎng)分成階碼j和尾數(shù)S兩部分。其根據(jù)就是: S為尾數(shù),j為階碼,r為基數(shù)(或基值)。在計(jì)算機(jī)中,基數(shù)可取2、4、6、8或16等。 以基數(shù)r=2為例,數(shù)N可寫(xiě)成下列不同形式: 為了提高數(shù)據(jù)精度以及便于浮點(diǎn)數(shù)的比較,在計(jì)算機(jī)中規(guī)定浮點(diǎn)數(shù)的尾數(shù)用純小數(shù)

27、的形式。 規(guī)格化數(shù):尾數(shù)最高位為1的浮點(diǎn)數(shù)稱(chēng)作規(guī)格化數(shù)。浮點(diǎn)數(shù)表示成規(guī)格化形式后,其精度最高。,(1)浮點(diǎn)數(shù)的表示,2. 數(shù)的浮點(diǎn)表示方法,上溢:浮點(diǎn)數(shù)階碼大于最大階碼時(shí),稱(chēng)為“上溢”,此時(shí)機(jī)器停止運(yùn)算,進(jìn)行中斷溢出處理。 下溢:浮點(diǎn)數(shù)階碼小于最小階碼時(shí),稱(chēng)為“下溢”,由于此時(shí)“溢出”的數(shù)絕對(duì)值很小,通常將尾數(shù)各位強(qiáng)制為零,按機(jī)器零處理,此時(shí)機(jī)器繼續(xù)運(yùn)行。,(2)浮點(diǎn)數(shù)的表示范圍,數(shù)符,數(shù)值部分,小數(shù)點(diǎn)位置,階符,階碼的數(shù)值部分,下溢,浮點(diǎn)數(shù)的規(guī)格化,目的:字長(zhǎng)固定的情況下提高表示精度的措施: 增加尾數(shù)位數(shù)(但數(shù)值范圍減?。?采用浮點(diǎn)規(guī)格化形式。 將非規(guī)格化數(shù)轉(zhuǎn)換成規(guī)格化數(shù)的過(guò)程叫規(guī)格化。,

28、規(guī)格化方法,當(dāng)基數(shù)為2時(shí),尾數(shù)最高位為1的數(shù)為規(guī)格化數(shù)。 1、向左規(guī)格化 出現(xiàn)0.0 xxx就不是規(guī)格化數(shù) 向左規(guī)格化規(guī)則:尾數(shù)左移1位,階碼減1。 2、向右規(guī)格化 尾數(shù)的絕對(duì)值大于1,向左破壞了規(guī)格化。 向右規(guī)格化規(guī)則:尾數(shù)右移1位,階碼加1。,規(guī)格化方法,當(dāng)基數(shù)為4時(shí),尾數(shù)最高兩位不全為0的數(shù)為規(guī)格化數(shù)。 1、向左規(guī)格化 出現(xiàn)0.00 xxx就不是規(guī)格化數(shù) 向左規(guī)格化規(guī)則:尾數(shù)左移2位,階碼減1。 2、向右規(guī)格化 尾數(shù)的絕對(duì)值大于1,向左破壞了規(guī)格化。 向右規(guī)格化規(guī)則:尾數(shù)右移2位,階碼加1。 當(dāng)基數(shù)為8時(shí),尾數(shù)最高兩位不全為0的數(shù)為規(guī)格化數(shù)。 1、向左規(guī)格化 出現(xiàn)0.000 xxx就不是

29、規(guī)格化數(shù) 向左規(guī)格化規(guī)則:尾數(shù)左移3位,階碼減1。 2、向右規(guī)格化 尾數(shù)的絕對(duì)值大于1,向左破壞了規(guī)格化。 向右規(guī)格化規(guī)則:尾數(shù)右移3位,階碼加1。 ?若基數(shù)為16時(shí),怎樣規(guī)格?,浮點(diǎn)數(shù)的表示范圍和精度,一旦浮點(diǎn)數(shù)的位數(shù)確定以后,合理分配階碼和尾數(shù)的位數(shù),直接影響浮點(diǎn)數(shù)的表示范圍和精度。 基數(shù)對(duì)數(shù)的表示范圍也有影響。 基數(shù)是隱含的,浮點(diǎn)機(jī)中一旦基數(shù)確定后就不再變了。 一般來(lái)說(shuō),基數(shù)r越大,可表示的浮點(diǎn)數(shù)范圍越寬,而且所表示的數(shù)其個(gè)數(shù)也越多。但r越大,浮點(diǎn)數(shù)的精度反而下降。 例如:r=16的浮點(diǎn)數(shù),引起規(guī)格化的尾數(shù)最高三位可能出現(xiàn)零,故與其尾數(shù)位數(shù)相同的r=2的浮點(diǎn)數(shù)相比,后者可能比前者多三位精度。,3. 定點(diǎn)數(shù)與浮點(diǎn)數(shù)的比較,數(shù)的表示范圍:當(dāng)浮點(diǎn)機(jī)和定點(diǎn)機(jī)中的數(shù)其位數(shù)相同時(shí),浮點(diǎn)數(shù)的表示范圍比定點(diǎn)數(shù)大得多。 數(shù)的精度:當(dāng)浮點(diǎn)數(shù)為規(guī)格化數(shù)時(shí),其精度遠(yuǎn)比定點(diǎn)數(shù)高。 浮點(diǎn)運(yùn)算步驟比定點(diǎn)運(yùn)算多,運(yùn)算速度比定點(diǎn)低,運(yùn)算線(xiàn)路比定點(diǎn)復(fù)雜。 溢出判斷 定點(diǎn)數(shù)的溢出根據(jù)數(shù)值本身判斷 浮點(diǎn)數(shù)的溢出根據(jù)規(guī)格化后的階碼判斷 通用的大型機(jī)采用浮點(diǎn)數(shù),或同時(shí)采用定、浮點(diǎn)數(shù);小型、微型及某些專(zhuān)用機(jī)、控制機(jī)采用定點(diǎn)數(shù)。當(dāng)需作浮點(diǎn)運(yùn)算時(shí),可通過(guò)軟件實(shí)現(xiàn),也可通過(guò)外加的浮點(diǎn)擴(kuò)展硬件(如協(xié)處理器)來(lái)實(shí)現(xiàn)。,例題1,1. 求X=256.5 的第一種浮點(diǎn)表示格式 X=(256. 5)10 =+(1000

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論