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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

1

表示真則0

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

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

X

YX與YX或YX的非

00001 0 1 011 10 010 11 11010字符型數(shù)據(jù)的表示字符的表示:采用字符編碼,即用規(guī)定的二進(jìn)制數(shù)表示文字和符號(hào)的方法。ASCII碼:美國(guó)標(biāo)準(zhǔn)信息交換碼,為國(guó)際標(biāo)準(zhǔn),在全世界通用。常用的7位ASCII碼的每個(gè)字符都由7個(gè)二進(jìn)制位b6~b0表示,有128個(gè)編碼,最高一位為0,占用一個(gè)字節(jié)的空間。最多可表示128種字符;其中包括:10個(gè)數(shù)字‘0’~‘9’:30H~39H,順序排列■26個(gè)小寫(xiě)字母‘a(chǎn)’~‘z’:61H~7AH,順序排列■26個(gè)大寫(xiě)字母‘A’~‘Z’:41H~5AH,順序排列■各種運(yùn)算符號(hào)和標(biāo)點(diǎn)符號(hà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字符串的表示與存儲(chǔ)字符串是指連續(xù)的一串字符,它們占據(jù)主存中連續(xù)的多個(gè)字節(jié),每個(gè)字節(jié)存放一個(gè)字符,對(duì)一個(gè)主存字的多個(gè)字節(jié),有按從低位到高位字節(jié)次序存放的,也有按從高位到低位字節(jié)次序存放的。表示字符串?dāng)?shù)據(jù)要給出串存放的主存起始地址和串的長(zhǎng)度。例如:IFA>BTHENREAD(C)就可以有如下不同的存放方式:13漢字編碼漢字內(nèi)碼是用于漢字信息的存儲(chǔ)、交換、檢索等操作的機(jī)內(nèi)代碼,一般采用兩個(gè)字節(jié)表示。漢字可以通過(guò)不同的輸入法輸入,但其內(nèi)碼在計(jì)算機(jī)中是唯一的。英文字符的機(jī)內(nèi)代碼是七位的ASCII碼,當(dāng)用一個(gè)字節(jié)表示時(shí),最高位為“0”。為了與英文字符能相互區(qū)別,漢字機(jī)內(nèi)代碼中兩個(gè)字節(jié)的最高位均規(guī)定為“1”。機(jī)內(nèi)碼等于漢字國(guó)標(biāo)碼加上8080H。例如“中”字的機(jī)內(nèi)碼為D6D0H。14數(shù)值數(shù)據(jù)的表示概念:表示數(shù)量大小,數(shù)值大小的數(shù)據(jù)。二進(jìn)制—表示整數(shù)、純小數(shù)、浮點(diǎn)數(shù)(實(shí)數(shù))怎么來(lái)表示這些數(shù)呢?用原碼、反碼和補(bǔ)碼等來(lái)統(tǒng)一表示這些正負(fù)數(shù)和0.數(shù)值數(shù)據(jù)-數(shù)值范圍和數(shù)值精度掌握:定點(diǎn)小數(shù)、定點(diǎn)整數(shù)和浮點(diǎn)數(shù)用4位二進(jìn)制數(shù)表示一個(gè)十進(jìn)制數(shù)15數(shù)值數(shù)據(jù)的表示

進(jìn)位計(jì)數(shù)制一

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

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

R進(jìn)制數(shù)的主要特點(diǎn)就是逢R進(jìn)1

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

=Ri。假設(shè)任意數(shù)值N用R進(jìn)制數(shù)來(lái)表示,形式為:N=(Dm-1Dm-2…D0.D-1D-2…D-k)R其中,Di為該進(jìn)制的基本符號(hào),Di∈[0,R-1],i=-k,-k+1,……,m-1,m;小數(shù)點(diǎn)在D0和D-1之間。17一、進(jìn)位計(jì)數(shù)制則數(shù)值N的實(shí)際值為:例如:R=10,即十進(jìn)制數(shù)。它的每一位上的數(shù)碼Di只能取0,1,2,……9;各個(gè)數(shù)碼的權(quán)為10i,i指示數(shù)碼所處的位置,個(gè)位i=0,十位i=1,百位i=2,依此類推。思考:二進(jìn)制、八進(jìn)制、十六進(jìn)制?18一、進(jìn)位計(jì)數(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ù)制的對(duì)應(yīng)關(guān)系1

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

十進(jìn)制轉(zhuǎn)換為二、八、十六進(jìn)制320(1)常用的幾種數(shù)制的對(duì)應(yīng)關(guān)系十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制000000081000108100011191001119200102210101012A300113311101113B401004412110014C501015513110115D601106614111016E701117715111117F1610000201021(2)二、八、十六進(jìn)制轉(zhuǎn)換為十進(jì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十進(jìn)制(Decimal)、二進(jìn)制(Binary)、八進(jìn)制(Octal)、十六進(jìn)制(Hexdecimal)數(shù)分別用D、B、Q、H來(lái)標(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)十進(jìn)制轉(zhuǎn)換為二、八、十六進(jìn)制轉(zhuǎn)換方法:可以分為以下兩種方法直接轉(zhuǎn)換:十進(jìn)制→二、八、十六進(jìn)制間接轉(zhuǎn)換:十進(jìn)制→二進(jìn)制→八、十六進(jìn)制(a)十進(jìn)制轉(zhuǎn)化為R進(jìn)制(b)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制23十進(jìn)制轉(zhuǎn)二進(jìn)制24(a)十進(jìn)制轉(zhuǎn)化為R進(jìn)制轉(zhuǎn)換方法整數(shù)部分:除以R取余,先得低位,直到商為0。小數(shù)部分:乘R取整,先得高位,直到積為0或者達(dá)到精度要求為止。例:(123.75)10=(?)2(123.75)10=(?)81111011.11173.625小數(shù)部分的精度要求當(dāng)小數(shù)部分不能整除為二進(jìn)制時(shí),則乘以2取整的過(guò)程中,積不會(huì)為0;或者當(dāng)小數(shù)部分轉(zhuǎn)化為二進(jìn)制位數(shù)很長(zhǎng),這時(shí)由精度來(lái)決定二進(jìn)制位數(shù)。例如:(0.35)10=(?)2無(wú)法整除(0.6875)10=(?)2位數(shù)太長(zhǎng)若要求精度大于10%,則表示“=”左右兩邊的十進(jìn)制值的差的絕對(duì)值<10%。則我們只需取4位二進(jìn)制小數(shù)即可滿足要求,因?yàn)?0%<2-4。26(b)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制二進(jìn)制→八進(jìn)制以小數(shù)點(diǎn)為中心分別向兩邊分組,每三位一組,寫(xiě)出對(duì)應(yīng)的八進(jìn)制數(shù)字。(不夠位數(shù)則在兩邊加0補(bǔ)足3位)二進(jìn)制→十六進(jìn)制以小數(shù)點(diǎn)為中心分別向兩邊分組,每四位一組,寫(xiě)出對(duì)應(yīng)的十六進(jìn)制符號(hào)。(不夠位數(shù)則在兩邊加0補(bǔ)足4位)例:(1011111.11)2 =(?)8=(?)16137.65F.C27二到八或十六進(jìn)制轉(zhuǎn)換二到八從小數(shù)點(diǎn)向左右三位一分組(10011100.01)2=(234.2)8010

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

0100

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

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

(?)2例:(765.23)16=

(?)2111

110

101.010

011111

0110

0101.0010

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

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

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

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

3、反碼表示法2、補(bǔ)碼表示法

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

;若X=-X1X2……Xn

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

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

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

;若X=-0.X1X2……Xn

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

?!?”和“.”只用于助記,在計(jì)算機(jī)中并無(wú)專用部件來(lái)表示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位原碼機(jī)器數(shù)。

[X]原=

;[Y]原=

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

;若X=-X1X2……Xn

,則[X]補(bǔ)=1,X1X2……Xn

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

,則[X]補(bǔ)=0.X1X2……Xn

;若X=-0.X1X2……Xn

,則[X]補(bǔ)=1.X1X2……Xn

+0.00……1。

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

[X]補(bǔ)=

;[Y]補(bǔ)=

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

[X]補(bǔ)=

;[Y]補(bǔ)=

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

[X]補(bǔ)=

;[Y]補(bǔ)=

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

=0,X1X2……Xn

;若X=-X1X2……Xn

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

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

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

;若X=-0.X1X2……Xn

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

。

3、反碼表示法(1)表示方法:最高位表示數(shù)的符號(hào),其他位表示數(shù)值位。符號(hào)位:0-正數(shù),1-負(fù)數(shù)。數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;負(fù)數(shù)時(shí),為絕對(duì)值取反。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位反碼機(jī)器數(shù)。

[X]反=

;[Y]反=

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

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

反碼、補(bǔ)碼跟原碼一樣。

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

反碼:1111_1110

補(bǔ)碼:1111_1111

0有+0和-0之分

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

反碼、補(bǔ)碼同。

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

反碼:1111_1111

補(bǔ)碼:0000_0000

正數(shù)的原碼、反碼、補(bǔ)碼一樣;負(fù)數(shù)的原碼就是{符號(hào)位1,絕對(duì)值原碼},反碼等于符號(hào)位除外的各位取反,補(bǔ)碼等于反碼加1523.4浮點(diǎn)機(jī)器數(shù)的表示方法

浮點(diǎn)機(jī)器數(shù)的格式

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

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

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

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

=(-1111011.01)2

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

000111

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

=(0.010001)2

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

111111

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

校驗(yàn)碼概述一

奇偶校驗(yàn)碼二

海明校驗(yàn)碼三

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

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

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

,添加的r位校驗(yàn)位為

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論