第三章1-信息編碼與數(shù)據(jù)表示_第1頁
第三章1-信息編碼與數(shù)據(jù)表示_第2頁
第三章1-信息編碼與數(shù)據(jù)表示_第3頁
第三章1-信息編碼與數(shù)據(jù)表示_第4頁
第三章1-信息編碼與數(shù)據(jù)表示_第5頁
已閱讀5頁,還剩82頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組成原理ALU功能和設(shè)計功能-加工數(shù)據(jù)對操作數(shù)A、B完成算術(shù)運算和邏輯運算設(shè)計算術(shù)運算加法器邏輯運算與門(ADD)、或門(OR)、非門(NOT)323232operationresultabALU23本章節(jié)內(nèi)容ALU數(shù)據(jù)運算功能計算機中的數(shù)據(jù)類型在計算機中的表示存儲方式完成運算所需算法實現(xiàn)算法的電路二進制編碼數(shù)制轉(zhuǎn)換定點小數(shù)和整數(shù)的原、補、反碼檢錯糾錯碼定點小數(shù)、整數(shù)、浮點數(shù)在計算機內(nèi)的表示補碼加減法運算原碼一位乘除法算法和完成算法所運用到的邏輯線路4數(shù)據(jù)編碼與表示計算機要處理的信息: 數(shù)值、文字、符號、語音、圖形、圖像和視頻等用數(shù)字化形式保存、加工和傳送編碼(用少量、簡單的基本符號,利用一定的組合規(guī)則,表示大量復(fù)雜多樣的信息)5數(shù)據(jù)編碼與表示計算機中要存儲的數(shù)據(jù)程序、整數(shù)、浮點數(shù)、字符(串)、邏輯值需要編碼進行表示存儲方式用數(shù)字電路的兩個狀態(tài)表示由上一層的抽象計算機來識別不同的內(nèi)容編碼原則少量簡單的基本符號一定的規(guī)則表示大量復(fù)雜的信息6基二碼(二進制碼)只使用兩個基本符號:1

0符號個數(shù)最少,物理上容易實現(xiàn)與二值邏輯的真

假兩個值對應(yīng)簡單用二進制碼表示數(shù)值數(shù)據(jù)運算規(guī)則簡單7數(shù)據(jù)表示二進制位可以表示任何對象:字符大/小寫+其它符號=>7bits(in8)世界上其他語言=>16bits(unicode)無符號整數(shù)(0,1,…,2n-1)邏輯值0->False,1=>True顏色(圖片是由很多像素點構(gòu)成,電腦里存的都是這些像素點的顏色代碼

)位置/地址/指令通常來說有三類:邏輯類型數(shù)據(jù)+字符類型數(shù)據(jù)+數(shù)值類型數(shù)據(jù)8邏輯型數(shù)據(jù)表示

邏輯型數(shù)據(jù)只有兩個值:真和假,正好可以用二進制碼的兩個符號分別表示,例如

1

表示真則0

表示假不必使用另外的編碼規(guī)則。對邏輯型數(shù)據(jù)可以執(zhí)行邏輯的與或

非等基本邏輯運算。其規(guī)則如下:9邏輯型數(shù)據(jù)基本運算規(guī)則

X

YX與YX或YX的非

00001 0 1 011 10 010 11 11010字符型數(shù)據(jù)的表示字符的表示:采用字符編碼,即用規(guī)定的二進制數(shù)表示文字和符號的方法。ASCII碼:美國標(biāo)準(zhǔn)信息交換碼,為國際標(biāo)準(zhǔn),在全世界通用。常用的7位ASCII碼的每個字符都由7個二進制位b6~b0表示,有128個編碼,最高一位為0,占用一個字節(jié)的空間。最多可表示128種字符;其中包括:10個數(shù)字‘0’~‘9’:30H~39H,順序排列■26個小寫字母‘a(chǎn)’~‘z’:61H~7AH,順序排列■26個大寫字母‘A’~‘Z’:41H~5AH,順序排列■各種運算符號和標(biāo)點符號等。11ASCII碼編碼表0000010100111001011101110000NULDLESP0

P‵p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4¥4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB′7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,〈L、l|1101CRGS-=M]m}1110SORS.〉N^n~1111SIUS/?O_oDEL12字符串的表示與存儲字符串是指連續(xù)的一串字符,它們占據(jù)主存中連續(xù)的多個字節(jié),每個字節(jié)存放一個字符,對一個主存字的多個字節(jié),有按從低位到高位字節(jié)次序存放的,也有按從高位到低位字節(jié)次序存放的。表示字符串?dāng)?shù)據(jù)要給出串存放的主存起始地址和串的長度。例如:IFA>BTHENREAD(C)就可以有如下不同的存放方式:13漢字編碼漢字內(nèi)碼是用于漢字信息的存儲、交換、檢索等操作的機內(nèi)代碼,一般采用兩個字節(jié)表示。漢字可以通過不同的輸入法輸入,但其內(nèi)碼在計算機中是唯一的。英文字符的機內(nèi)代碼是七位的ASCII碼,當(dāng)用一個字節(jié)表示時,最高位為“0”。為了與英文字符能相互區(qū)別,漢字機內(nèi)代碼中兩個字節(jié)的最高位均規(guī)定為“1”。機內(nèi)碼等于漢字國標(biāo)碼加上8080H。例如“中”字的機內(nèi)碼為D6D0H。14數(shù)值數(shù)據(jù)的表示概念:表示數(shù)量大小,數(shù)值大小的數(shù)據(jù)。二進制—表示整數(shù)、純小數(shù)、浮點數(shù)(實數(shù))怎么來表示這些數(shù)呢?用原碼、反碼和補碼等來統(tǒng)一表示這些正負數(shù)和0.數(shù)值數(shù)據(jù)-數(shù)值范圍和數(shù)值精度掌握:定點小數(shù)、定點整數(shù)和浮點數(shù)用4位二進制數(shù)表示一個十進制數(shù)15數(shù)值數(shù)據(jù)的表示

進位計數(shù)制一

不同數(shù)制之間的相互轉(zhuǎn)換二

十進制數(shù)的編碼三16一、進位計數(shù)制數(shù)制的兩大要素:基數(shù)R:指在這種進位制中允許使用的基本數(shù)碼個數(shù)?;鶖?shù)為R的數(shù)制稱為R進制數(shù)。

R進制數(shù)的主要特點就是逢R進1

。權(quán)Wi:權(quán)也稱位權(quán),指某一位i上的數(shù)碼的權(quán)重值,即權(quán)與數(shù)碼所處的位置i有關(guān)。Wi

=Ri。假設(shè)任意數(shù)值N用R進制數(shù)來表示,形式為:N=(Dm-1Dm-2…D0.D-1D-2…D-k)R其中,Di為該進制的基本符號,Di∈[0,R-1],i=-k,-k+1,……,m-1,m;小數(shù)點在D0和D-1之間。17一、進位計數(shù)制則數(shù)值N的實際值為:例如:R=10,即十進制數(shù)。它的每一位上的數(shù)碼Di只能取0,1,2,……9;各個數(shù)碼的權(quán)為10i,i指示數(shù)碼所處的位置,個位i=0,十位i=1,百位i=2,依此類推。思考:二進制、八進制、十六進制?18一、進位計數(shù)制例1:(2345.459)10=2×103+3×102+4×101+5×100+4×10-1+5×10-2+9×10-3例2:(11011.011)2=1×24+1×23+0×22+1×21+1×2-0+0×2-1+1×2-2+1×2-3=(27.375)10例3:(123.67)8=1×82+2×81+3×80+6×8-1+7×8-2=(83.859375)1019二、不同數(shù)制之間的相互轉(zhuǎn)換

常用的幾種數(shù)制的對應(yīng)關(guān)系1

二、八、十六進制轉(zhuǎn)換為十進制2

十進制轉(zhuǎn)換為二、八、十六進制320(1)常用的幾種數(shù)制的對應(yīng)關(guān)系十進制二進制八進制十六進制十進制二進制八進制十六進制000000081000108100011191001119200102210101012A300113311101113B401004412110014C501015513110115D601106614111016E701117715111117F1610000201021(2)二、八、十六進制轉(zhuǎn)換為十進制轉(zhuǎn)換方法:加權(quán)求和。(按式4-1)例:(5AC.E6)16=5×162+10×161+12×160+14×16-1+6×16-2

=(1452.8984375)10十進制(Decimal)、二進制(Binary)、八進制(Octal)、十六進制(Hexdecimal)數(shù)分別用D、B、Q、H來標(biāo)志。例如:(1011)2→(1011)B→1011B→1011b(123.45)2→(123.45)D→123.45D→123.45(2B.D)16=(2B.D)H=(43.8125)10=(53.64)Q22(3)十進制轉(zhuǎn)換為二、八、十六進制轉(zhuǎn)換方法:可以分為以下兩種方法直接轉(zhuǎn)換:十進制→二、八、十六進制間接轉(zhuǎn)換:十進制→二進制→八、十六進制(a)十進制轉(zhuǎn)化為R進制(b)二進制轉(zhuǎn)化為八、十六進制23十進制轉(zhuǎn)二進制24(a)十進制轉(zhuǎn)化為R進制轉(zhuǎn)換方法整數(shù)部分:除以R取余,先得低位,直到商為0。小數(shù)部分:乘R取整,先得高位,直到積為0或者達到精度要求為止。例:(123.75)10=(?)2(123.75)10=(?)81111011.11173.625小數(shù)部分的精度要求當(dāng)小數(shù)部分不能整除為二進制時,則乘以2取整的過程中,積不會為0;或者當(dāng)小數(shù)部分轉(zhuǎn)化為二進制位數(shù)很長,這時由精度來決定二進制位數(shù)。例如:(0.35)10=(?)2無法整除(0.6875)10=(?)2位數(shù)太長若要求精度大于10%,則表示“=”左右兩邊的十進制值的差的絕對值<10%。則我們只需取4位二進制小數(shù)即可滿足要求,因為10%<2-4。26(b)二進制轉(zhuǎn)化為八、十六進制二進制→八進制以小數(shù)點為中心分別向兩邊分組,每三位一組,寫出對應(yīng)的八進制數(shù)字。(不夠位數(shù)則在兩邊加0補足3位)二進制→十六進制以小數(shù)點為中心分別向兩邊分組,每四位一組,寫出對應(yīng)的十六進制符號。(不夠位數(shù)則在兩邊加0補足4位)例:(1011111.11)2 =(?)8=(?)16137.65F.C27二到八或十六進制轉(zhuǎn)換二到八從小數(shù)點向左右三位一分組(10011100.01)2=(234.2)8010

二到十六從小數(shù)點向左右四位一分組(10011100.01)2=(9C.4)16

0100

說明:整數(shù)部分不足位數(shù)對轉(zhuǎn)換無影響,

小數(shù)部分不足位數(shù)要補零湊足,否則出錯。28思考1:八、十六進制如何轉(zhuǎn)化為二進制?八進制→二進制:將每位八進制數(shù)展開為3位二進制數(shù),最高位和最低位的0可以略去。十六進制→二進制:將每位十六進制數(shù)展開為4位二進制數(shù),最高位和最低位的0可以略去。例:(765.23)8=

(?)2例:(765.23)16=

(?)2111

110

101.010

011111

0110

0101.0010

001129思考2:計算機中為什么采用二進制表示數(shù)據(jù)?1、具有二值狀態(tài)的物理器件容易實現(xiàn)。2、二進制的運算規(guī)則簡單,硬件實現(xiàn)容易。3、具有邏輯特性,可代表“真假”、“是非”。30三、十進制數(shù)的編碼提出的問題:如何在計算機內(nèi)使用二進制來表示十進制數(shù)據(jù)?(1)二-十進制碼(BCD碼)(2)十進制數(shù)串的表示方法31(1)二-十進制碼(BCD碼)BCD(BinaryCodedDecimal)碼:使用二進制來編碼十進制數(shù)字0~9。編碼方法:一般使用4位二進制編碼來表示1位十進制數(shù)字,在16個編碼中選用10個來表示數(shù)字0~9。不同的選擇構(gòu)成不同的BCD碼。分類:有權(quán)碼:編碼的每一位都有固定的權(quán)值,加權(quán)求和的值即是表示的十進制數(shù)字。如8421碼、2421碼、5211碼、4311碼、84-2-1碼等。無權(quán)碼:編碼的每一位并沒有固定的權(quán),主要包括格雷碼、余3碼等。32(1)二-十進制碼(BCD碼)十進制數(shù)8421碼2421碼5211碼4311碼84-2-1碼格雷碼余3碼0000000000000000000000000001110001000100010001011100010100200100010001100110110001101013001100110101010001010010011040100010001111000010001100111501011011100001111011111010006011011001010101110101010100170111110111001100100110001010810001110111011101000110010119100111111111111111110100110033幾種常見的BCD碼8421碼:特點:4位二進制數(shù)位的權(quán)從高到低依次是8、4、2、1;8421碼實際上就是十進制數(shù)字0~9的二進制編碼本身。是最常用的一種BCD碼,在沒有特別指出的一般情況下,所提到的BCD碼通常就是指8421碼。格雷碼:特點:又叫循環(huán)碼,它的任何相鄰的兩個編碼(例如2和3、7和8、9和0等)之間只有一位二進制位不同。優(yōu)點:是用它構(gòu)成計數(shù)器時,在從一個編碼變到下一個編碼時,只有一個觸發(fā)器翻轉(zhuǎn)即可,波形更完美、可靠。格雷碼的編碼方案有許多種。余3碼:對應(yīng)的8421碼加上0011構(gòu)成的。34

35(2)十進制數(shù)串的表示方法字符串形式:用ASCII碼來表示十進制數(shù)字或符號位,即1個字節(jié)存放1位十進制數(shù)字或符號位。壓縮的十進制數(shù)串形式:用BCD碼來表示十進制數(shù)字,即1個字節(jié)存放2個十進制的數(shù)字;符號位放在最低位數(shù)字位之后,一般用C(12)表示正號,用D(13)表示負號。例如+258被表示成258CH,占用兩個字節(jié),-34被表示為034DH,也占用兩個字節(jié)。共同點:必須給出它在主存中的首地址和位長。36(2)十進制數(shù)串的表示方法采用十進制表示數(shù)據(jù)的優(yōu)點是:對于需要大量地進行輸入輸出數(shù)據(jù)而運算簡單的場合,大大減少了十→二和二→十轉(zhuǎn)換,提高了機器的運行效率;十進制數(shù)串的位長可變,許多機器中規(guī)定該長度從0到31,有的甚至更長。不受定點數(shù)和浮點數(shù)統(tǒng)一格式的約束,從而提高了數(shù)據(jù)的表示范圍和運算精度。373.2數(shù)據(jù)格式計算機中參與運算的數(shù)據(jù)有兩種:無符號數(shù)據(jù)(Unsigned):所有的二進制數(shù)據(jù)位數(shù)均用來表示數(shù)值本身,沒有正負之分。帶符號數(shù)據(jù)(Signed):則其二進制數(shù)據(jù)位,包括符號位和數(shù)值位。計算機中的帶符號數(shù)據(jù)又稱為機器數(shù)。1、機器數(shù)與真值機器數(shù):把“+”、“-”符號代碼化,并保存在計算機中的數(shù)據(jù)。真值:是指機器數(shù)所真正表示的數(shù)值,用數(shù)值并冠以“+”、“-”符號的方法來表示。機器數(shù)的編碼方法:原碼、反碼、補碼、移碼。383.2數(shù)據(jù)格式計算機硬件如何區(qū)分它們是無符號數(shù)據(jù)還是帶符號數(shù)據(jù)的呢?例:(IntelX86系列CPU)假設(shè)AX=(1111111111111111)2,BX=(0000000000000001)2,那么執(zhí)行下面兩段程序時,計算機硬件將把AX和BX中的數(shù)據(jù)看成是不同的數(shù)據(jù)。程序ACMP AX,BX ;結(jié)果影響標(biāo)志位JL L1 ;有符號數(shù)小于轉(zhuǎn)移執(zhí)行JL指令時,操作數(shù)AX和BX被當(dāng)作有符號數(shù)據(jù),AX=(-1)10,BX=(+1)10,所以執(zhí)行結(jié)果是轉(zhuǎn)移到L1標(biāo)號處執(zhí)行。程序BCMP AX,BX JB L1 ;無符號數(shù)小于轉(zhuǎn)移執(zhí)行JB指令時,操作數(shù)AX和BX被當(dāng)作無符號數(shù)據(jù),AX=(65535)10,BX=(+1)10,所以執(zhí)行結(jié)果是不轉(zhuǎn)移,順序執(zhí)行。393.2數(shù)據(jù)格式2、小數(shù)點的表示方法在機器數(shù)中,小數(shù)點及其位置是隱含規(guī)定的;有兩種隱含方式:定點數(shù):小數(shù)點的位置是固定不變的浮點數(shù):小數(shù)點的位置是浮動的定點機器數(shù)分為定點小數(shù)、定點整數(shù)兩種。

浮點機器數(shù)中小數(shù)點的位置由階碼規(guī)定,因此是浮動的。403.2數(shù)據(jù)格式(a)整數(shù)格式(c)浮點數(shù)格式

(b)定點小數(shù)格式413.3定點機器數(shù)的表示方法定點機器數(shù)的小數(shù)點的位置是固定不變的,可以分為兩種:定點小數(shù):用于表示純小數(shù),小數(shù)點隱含固定在最高數(shù)據(jù)位的左邊,整數(shù)位則用于表示符號位。定點整數(shù):用于表示純整數(shù),小數(shù)點位置隱含固定在最低位之后,最高位為符號位。1、原碼表示法

3、反碼表示法2、補碼表示法

421、原碼表示法(1)表示方法:最高位表示數(shù)的符號,其他位表示數(shù)值位。符號位:0-正數(shù),1-負數(shù)。數(shù)值位:與絕對值相同。對于定點整數(shù):若X=+X1X2……Xn,則[X]原=0,X1X2……Xn

;若X=-X1X2……Xn

,則[X]原=1,X1X2……Xn

。對于定點小數(shù):若X=+0.X1X2……Xn

,則[X]原=0.X1X2……Xn

;若X=-0.X1X2……Xn

,則[X]原=1.X1X2……Xn

?!?”和“.”只用于助記,在計算機中并無專用部件來表示431、原碼表示法例1:X=1011,Y=-1011,則:[X]原=

[Y]原=

;例2:X=0.1101,Y=-0.1101,則:[X]原=

;[Y]原=

;例3:X=1011,Y=-0.1101,求X和Y的8位原碼機器數(shù)。

[X]原=

;[Y]原=

;例4:[0]原=?0,10111,10110.11011.11010,00010111.1101000441、原碼表示法(2)0的表示:0的原碼表示有兩種形式,即分別按照正數(shù)和負數(shù)表示。[+0]原=00…0 [-0]原=10…0(3)表示范圍:對于n+1位原碼機器數(shù)X,它所能表示的數(shù)據(jù)范圍為:定點整數(shù):-(2n-1)≤X≤2n-1定點小數(shù):-(1-2-n)≤X≤1-2-n包括1位符號位,n位數(shù)值位452、補碼表示法(1)表示方法:最高位為符號位,其他位為數(shù)值位。符號位:0-正數(shù),1-負數(shù)。數(shù)值位:正數(shù)時,與絕對值相同;負數(shù)時,為絕對值取反后,末位加1。對于定點整數(shù):若X=+X1X2……Xn,則[X]補=0,X1X2……Xn

;若X=-X1X2……Xn

,則[X]補=1,X1X2……Xn

+1。對于定點小數(shù):若X=+0.X1X2……Xn

,則[X]補=0.X1X2……Xn

;若X=-0.X1X2……Xn

,則[X]補=1.X1X2……Xn

+0.00……1。

462、補碼表示法例1:X=1011,Y=-1011,則:

[X]補=

;[Y]補=

;例2:X=0.1101,Y=-0.1101,則:

[X]補=

;[Y]補=

;例3:X=1011,Y=-0.1101,求X和Y的8位補碼機器數(shù)。

[X]補=

;[Y]補=

;例4:[0]補=?0,10111,01010.11011.00110,00010111.0011000472、補碼表示法(2)0的表示:0的補碼表示形式是唯一的,即分別按照正數(shù)和負數(shù)表示均一致,為全零。[+0]補=00…0[-0]補=00…0(3)表示范圍:對于n+1位補碼機器數(shù)X,它所能表示的數(shù)據(jù)范圍為:定點整數(shù):-2n≤X≤2n-1定點小數(shù):-1≤X≤1-2-n計算機中的整型數(shù)據(jù)(int)均用補碼來表示。包括1位符號位,n位數(shù)值位48對于定點整數(shù):若X=+X1X2……Xn,則[X]反

=0,X1X2……Xn

;若X=-X1X2……Xn

,則[X]反=1,X1X2……Xn

。對于定點小數(shù):若X=+0.X1X2……Xn

,則[X]反=0.X1X2……Xn

;若X=-0.X1X2……Xn

,則[X]反=1.X1X2……Xn

。

3、反碼表示法(1)表示方法:最高位表示數(shù)的符號,其他位表示數(shù)值位。符號位:0-正數(shù),1-負數(shù)。數(shù)值位:正數(shù)時,與絕對值相同;負數(shù)時,為絕對值取反。493、反碼表示法例1:X=1011,Y=-1011,則:

[X]反=

;[Y]反=

;例2:X=0.1101,Y=-0.1101,則:

[X]反=

;[Y]反=

;例3:X=1011,Y=-0.1101,求X和Y的8位反碼機器數(shù)。

[X]反=

;[Y]反=

;例4:[0]反=?0,10111,01000.11011.00100,00010111.001011150(2)0的表示:0的反碼表示有兩種形式,即分別按照正數(shù)和負數(shù)表示。[+0]反=00…0[-0]反=

11…1(3)表示范圍:對于n+1位反碼機器數(shù)X,它所能表示的數(shù)據(jù)范圍為:定點整數(shù):-(2n-1)≤X≤2n-1定點小數(shù):-(1-2-n)≤X≤1-2-n包括1位符號位,n位數(shù)值位3、反碼表示法51原碼、反碼、補碼總結(jié)1的原碼(8位):0000_0001

反碼、補碼跟原碼一樣。

-1的原碼(8位):1000_0001

反碼:1111_1110

補碼:1111_1111

0有+0和-0之分

+0的原碼(8位):0000_0000

反碼、補碼同。

-0的原碼(8位):1000_0000

反碼:1111_1111

補碼:0000_0000

正數(shù)的原碼、反碼、補碼一樣;負數(shù)的原碼就是{符號位1,絕對值原碼},反碼等于符號位除外的各位取反,補碼等于反碼加1523.4浮點機器數(shù)的表示方法

浮點機器數(shù)的格式

浮點機器數(shù)的規(guī)格化表示

浮點數(shù)的表示范圍

123531、浮點機器數(shù)的格式浮點機器數(shù)用于表示實數(shù),其小數(shù)點的位置由其中的階碼規(guī)定,因此是浮動的。浮點數(shù)N的構(gòu)成:浮點數(shù)的格式:階碼的底是隱含規(guī)定的。小數(shù)點位置在機器中,為了方便浮點數(shù)大小的比較,通常將數(shù)符放置在浮點數(shù)的首位。541、浮點機器數(shù)的格式尾數(shù)M:為定點小數(shù),尾數(shù)的位數(shù)決定了浮點數(shù)有效數(shù)值的精度,尾數(shù)的符號代表了浮點數(shù)的正負,因此又稱為數(shù)符。尾數(shù)一般采用原碼和補碼表示。階碼E:為定點整數(shù),階碼的數(shù)值大小決定了該浮點數(shù)實際小數(shù)點位置與尾數(shù)的小數(shù)點位置(隱含)之間的偏移量。階碼的位數(shù)多少決定了浮點數(shù)的表示范圍。階碼的符號叫階符。階碼一般采用移碼和補碼表示。階碼的底R:一般為2、8或16

,且隱含規(guī)定。551、浮點機器數(shù)的格式根據(jù)IEEE754國際標(biāo)準(zhǔn),常用的浮點數(shù)格式有3種,階碼的底隱含為2。短實數(shù)又稱為單精度浮點數(shù),長實數(shù)又稱為雙精度浮點數(shù),臨時實數(shù)主要用于進行浮點數(shù)運算時保存臨時的計算結(jié)果。562、浮點機器數(shù)的規(guī)格化表示浮點數(shù)的規(guī)格化表示:為了充分利用尾數(shù)的二進制數(shù)位來表示更多的有效數(shù)字,將尾數(shù)的絕對值限定在某個范圍之內(nèi)。例如:R=2,則規(guī)格化浮點數(shù)的尾數(shù)M應(yīng)滿足條件:最高有效位為1,即572、浮點機器數(shù)的規(guī)格化表示為便于計算機硬件對尾數(shù)的機器數(shù)形式的規(guī)格化判斷,通常采用下列方法實現(xiàn)判定:(1)對于原碼表示的尾數(shù),當(dāng)最高有效位(M1)為1時,浮點數(shù)為規(guī)格化,即尾數(shù)為×.1×……×形式;(2)對于補碼表示的尾數(shù),當(dāng)符號位(MS)與最高有效位(M1)相異時,浮點數(shù)為規(guī)格化,即尾數(shù)為0.1×……×形式或者為1.0×……×形式。對于非規(guī)格化浮點數(shù),可以通過修改階碼和左右移尾數(shù)的方法來使其變?yōu)橐?guī)格化浮點數(shù),這個過程叫做規(guī)格化。582、浮點機器數(shù)的規(guī)格化表示若尾數(shù)進行右移實現(xiàn)的規(guī)格化,則稱為右規(guī);若尾數(shù)進行左移實現(xiàn)的規(guī)格化,則稱為左規(guī)。使用規(guī)格化的浮點數(shù)表示數(shù)據(jù)的優(yōu)點:(1)提高了浮點數(shù)據(jù)的精度;(2)使程序能夠更方便地交換浮點數(shù)據(jù);(3)可以使浮點數(shù)的運算更為簡化。592、浮點機器數(shù)的規(guī)格化表示例:一浮點數(shù)的階碼為6位(包括一位階符),尾數(shù)為10位(包括一位數(shù)符),階碼與尾數(shù)均采用補碼表示,階碼的底為2。寫出X與Y的規(guī)格化浮點數(shù)。(1)X=-123.25(2)Y=34/128(1)X=(-123.25)10

=(-1111011.01)2

=-0.111101101×2+7602、浮點機器數(shù)的規(guī)格化表示EX=+7=(+00111)2,MX=-0.111101101[EX]補=000111,[MX]補=1.000010011則:[X]浮=1

000111

000010011(2)Y=(34/128)10

=(0.010001)2

=0.10001×2-1EY=-00001,MY=0.100010000[EY]補=111111,[MY]補=0.100010000則:[Y]浮=0

111111

100010000613、浮點數(shù)的表示范圍在浮點數(shù)的表示范圍中,有兩種情況被稱為機器零:(1)若浮點數(shù)的尾數(shù)為零,無論階碼為何值;(2)當(dāng)階碼的值遇到比它能表示的最小值還要小時(階碼負溢出),無論其尾數(shù)為何值機器零623、浮點數(shù)的表示范圍浮點數(shù)的表示范圍通常:最?。ㄘ摚?shù)、最大負數(shù)、最小正數(shù)、最大(正)數(shù)。位于最大負數(shù)和最小正數(shù)之間的數(shù)據(jù)(除0外),機器無法表示,稱為下溢。對于下溢的處理,計算機直接將其視為機器零。當(dāng)一個數(shù)據(jù)大于最大(正)數(shù),或者小于最?。ㄘ摚?shù)時,機器也無法表示,稱為上溢,上溢又稱溢出。633、浮點數(shù)的表示范圍寫出例3.10中的浮點數(shù)格式的規(guī)格化和非規(guī)格化表示范圍。解:(1)規(guī)格化表示范圍:(2)非規(guī)格化表示范圍:64校驗碼

校驗碼概述一

奇偶校驗碼二

海明校驗碼三

CRC校驗碼四65校驗碼1、校驗碼定義:是一種具有發(fā)現(xiàn)某些錯誤或自動改正錯誤能力的一種數(shù)據(jù)編碼方法。2、校驗碼目的:用于檢查或糾正在存取、讀寫和傳送數(shù)據(jù)的過程中可能出現(xiàn)的錯誤。3、校驗碼的基本思想:“冗余校驗”,即通過在有效信息代碼的基礎(chǔ)上,添加一些冗余位來構(gòu)成整個校驗碼。4、校驗碼的構(gòu)成:有效信息+校驗位(由有效信息產(chǎn)生的冗余位)66校驗碼5、校驗過程:有效信息校驗碼編碼器校驗碼校驗位校驗碼發(fā)送/寫/存接收/讀/取有效信息校驗位有效信息校驗位校驗碼譯碼器正確錯誤輸出673.6校驗碼6、校驗碼原理:通過判斷代碼的合法性來檢錯的。只有當(dāng)合法碼之間的碼距d>=2時,校驗碼才具有檢錯能力,當(dāng)碼距d>=3時,校驗碼才具有糾錯能力。碼距:一種碼制的碼距是指該碼制中所有代碼之間的最小距離。兩個代碼之間的距離:在一種編碼中,在任何兩個代碼之間逐位比較,對應(yīng)位值不同的個數(shù)。校驗碼的檢錯糾錯能力與碼距的關(guān)系如下:若碼距d為奇數(shù),如果只用來檢查錯誤,則可以發(fā)現(xiàn)d-1位錯誤;如果用來糾正錯誤,則能夠糾正位錯誤。若碼距d為偶數(shù),則可以發(fā)現(xiàn)位錯誤,并能夠糾正()位錯誤。683.6校驗碼7、常見校驗碼:奇偶校驗碼:碼距d=2,檢錯碼,能檢驗奇數(shù)位錯誤;通常用于磁帶或者串行通信中。海明校驗碼:碼距d>=3,糾錯碼,能糾正1位或多位錯誤;通常用于磁盤冗余陣列中。CRC校驗碼:碼距d=3,糾錯碼,能糾正1位錯誤;通常用于磁盤或數(shù)據(jù)塊的校驗。69在有效信息位的前面或者后面添加一位奇(偶)校驗位就組成了奇(偶)校驗碼。奇(偶)校驗碼的編碼和譯碼在硬件上通常采用異或非門(異或門)實現(xiàn)。1、編碼奇校驗位的取值應(yīng)該使整個奇校驗碼中“1”的個數(shù)為奇數(shù),偶校驗位的取值應(yīng)該使整個偶校驗碼中“1”的個數(shù)為偶數(shù)。假設(shè)在發(fā)送端,要發(fā)送七位ASCII碼(B6B5B4B3B2B1B0),在ASCII碼前面添加一位奇校驗位P奇或偶校驗位P偶變?yōu)橐粋€字節(jié)的奇偶校驗碼,則它們的生成表達式為二、奇偶校驗碼702、譯碼在接收端,必須檢驗接收到的校驗碼信息的奇偶性,對于奇校驗碼,校驗碼中“1”的個數(shù)應(yīng)該為奇數(shù),否則出錯;對于偶校驗碼,校驗碼中“1”的個數(shù)應(yīng)該為偶數(shù),否則出錯。設(shè)E奇為奇校驗碼出錯信號,E偶為偶校驗碼出錯信號,為1出錯,為0正確,則它們的表達式為奇偶校驗的編碼電路

例如:字符“A”的ASCII碼為41H,奇校驗碼為C1H,偶校驗碼為41H。二、奇偶校驗碼71二、奇偶校驗碼72三、海明碼1、編碼海明碼的編碼步驟如下:(1)計算校驗位的位數(shù)假設(shè)信息位為k位,增加r位校驗位,構(gòu)成n=k+r位海明碼字。若要求海明碼能糾正一位錯誤,用r位校驗位產(chǎn)生的r位指誤字來區(qū)分無錯狀態(tài)及碼字中n個不同位置的一位錯誤狀態(tài),則要求r滿足:

2r≥k+r+1計算出k位有效信息時,必須添加的能糾錯一位的海明校驗碼的校驗位的位數(shù)r73(2)確定有效信息和校驗位的位置假設(shè)k位有效信息從高到低為

,添加的r位校驗位為

,則它們構(gòu)成n=k+r位的海明碼排列設(shè)為,H的下標(biāo)被稱為海明位號,則第i位的校驗位Pi必須位于位號為2i-1的位置,即,其中,i=1,2,…,r;有效信息則在其余的海明碼位置上順序排列。三、海明碼74三、海明碼(3)分組由于海明碼是分組進行奇偶校驗的,每一組通過一個監(jiān)督表達式來監(jiān)督有效信息的變化,因此,分組必須使得監(jiān)督表達式得出的指誤字能夠反映出錯位的位號。分組的原則是:校驗位只參加一組奇偶校驗,有效信息則參加至少兩組的奇偶校驗,若Di=Hj

,則Di參加那些位號之和等于j的校驗位的分組校驗。75三、海明碼(4)進行奇偶校驗,合成海明碼首先,按照分組和奇偶校驗的規(guī)律將每個校驗位的生成表達式寫出,然后,再帶入有效信息的值,依次得出校驗位的取值,最后將校驗位按各自的位置插入,與有效信息一起合成海明碼。76三、海明碼2、譯碼在接收端收到每個海明碼后,也必須按上述分組檢驗每組的奇偶性有無發(fā)生變化,方法是按照監(jiān)督關(guān)系式算出指誤字SrSr-1…S2S1,若為全零,則說明各組奇偶性全部無變化,信息正確,將相應(yīng)的有效信息位析取出來使用;否則,指誤字的十進制值,就是出錯位的海明位號。77四、循環(huán)冗余碼CRC循環(huán)冗余碼CRC(CyclicRedundancyCode),又稱為多項式碼。1、編碼k位要發(fā)送的有效信息位可對應(yīng)于一個k-1次多項式M(x),r位冗余校驗位對應(yīng)于一個r-1次多項式R(x)。由k位信息位后面加上r位冗余位組成的n=k+r位CRC碼字則對應(yīng)于一個n-1次多項式C(x),即:

C(x)=xr?M(x)+R(x)該CRC碼稱為(n,k)循環(huán)碼。78四、循環(huán)冗余碼CRC由信息位產(chǎn)生冗余位的編碼過程,就是已知M(x)求R(x)的過程。在CRC碼中可以通過找到一個特定的多項式G(x)來實現(xiàn)。用G(x)去除xr?M(x)得到的余式就是R(x

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論