第2節(jié) 計(jì)算機(jī)中的數(shù)據(jù)表示與編碼_第1頁(yè)
第2節(jié) 計(jì)算機(jī)中的數(shù)據(jù)表示與編碼_第2頁(yè)
第2節(jié) 計(jì)算機(jī)中的數(shù)據(jù)表示與編碼_第3頁(yè)
第2節(jié) 計(jì)算機(jī)中的數(shù)據(jù)表示與編碼_第4頁(yè)
第2節(jié) 計(jì)算機(jī)中的數(shù)據(jù)表示與編碼_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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)介

1.2計(jì)算機(jī)中的數(shù)據(jù)表示與編碼例如,用10個(gè)阿拉伯?dāng)?shù)字表示數(shù)值,用26個(gè)英文字母構(gòu)成英文詞匯,就是現(xiàn)實(shí)生活中編碼的典型例子。因此,不論是什么信息,在輸入計(jì)算機(jī)內(nèi)部時(shí),都必須用基2碼編碼表示,以方便存儲(chǔ)、傳送和處理。③基2碼的兩個(gè)符號(hào)“1”和“0”正好與邏輯數(shù)據(jù)“真”與“假”相對(duì)應(yīng),為計(jì)算機(jī)實(shí)現(xiàn)邏輯運(yùn)算帶來(lái)了方便。①基2碼在物理上最容易實(shí)現(xiàn)。(為什么?怎樣實(shí)現(xiàn)?)在計(jì)算機(jī)中,廣泛采用的是僅用“0”和“1”兩個(gè)基本符號(hào)組成的基2碼,亦稱為二進(jìn)制碼。這是由于以下三個(gè)原因:②基2碼用來(lái)表示數(shù),其編碼、加減乘除運(yùn)算規(guī)則簡(jiǎn)單。所謂編碼,就是用少量、簡(jiǎn)單的基本符號(hào),選用一定的組合規(guī)則,來(lái)表示大量復(fù)雜多樣的信息。基本符號(hào)的種類和這些符號(hào)的組合規(guī)則構(gòu)成編碼的兩大要素。11.2.1數(shù)和數(shù)制(自學(xué)!)1.數(shù)制與進(jìn)位記數(shù)法

十進(jìn)制:

逢十進(jìn)一0,1,…,9二進(jìn)制:逢二進(jìn)一0,1八進(jìn)制:逢八進(jìn)一0,1,…,7十六進(jìn)制:逢十六進(jìn)一 0,1,…,9,A,B,C,D,E,F例:(892)10或892D例:(10010)2或10010B例:(71)8或71O例:(3A)16或3AH22.數(shù)制轉(zhuǎn)換

二、八、十六進(jìn)制

十進(jìn)制

十進(jìn)制

二、八、十六進(jìn)制二進(jìn)制→

八、十六進(jìn)制八、十六進(jìn)制→

二進(jìn)制3(1)二(八、十六)進(jìn)制→十進(jìn)制:二進(jìn)制:2n……23222120.2-12-2……2-m八進(jìn)制:8n……83828180.8-18-2……8-m十六進(jìn)制:16n……163162161160.16-116-2……16-m各種進(jìn)制位權(quán)如下:按權(quán)展開相加(自學(xué))11001010.11016512023.2307178ABDF03.67DEF3十進(jìn)制數(shù):58655.535十進(jìn)制:10n……103102101100.10-110-2……10-m4(1101.1)2=1×20+=(13.5)10(371.2)8=2×8-1=(249.25)10(4E.8)16=8×16-1=(78.5)101×23+1×2-11×22+0×21+3×82+7×81+1×80+=192+56+1+0.254×161+14×160+=64+14+0.55思考題123.123=()H6思考題123.123=1111011.00011111B=7B.1FH規(guī)則:整數(shù)部分:除N取余,逆序列小數(shù)部分:乘N取整,順序列7(2).十進(jìn)制→

二、八、十六進(jìn)制整數(shù)部分:除2(8,16)取余,逆序列例(77.25)10=(1001101.01)2=(115.2)8=(4D.4)16小數(shù)部分:乘2(8,16)取整,順序列8770.25×20.50×21.001001101.01(77.25)10=()2余數(shù)238(1192(029(124(122(021(020(1977115.0.25×82.002(77.25)10=()8余數(shù)89(581(180(1104D.0.25×164.004(77.25)10=()16余數(shù)77164(13160(411(3).二進(jìn)制→八進(jìn)制:十六進(jìn)制:例:(1001101.01)25112(1001101.01)2D44=()8115.2=()164D.43位轉(zhuǎn)換成1位4位轉(zhuǎn)換成1位1213例:八進(jìn)制十六進(jìn)制→二進(jìn)制1位轉(zhuǎn)換為3位1位轉(zhuǎn)換為4位(135.2)8=()2010(4D.4)16=()20100(4).101011001.11010100.141.2.2計(jì)算機(jī)中帶符號(hào)數(shù)的表示方法例:-0011100原碼=符號(hào)位+絕對(duì)值在計(jì)算機(jī)中,把數(shù)的符號(hào)位、數(shù)值位一起用二進(jìn)制數(shù)表示的編碼,稱為機(jī)器碼。一般最高有效位為符號(hào)位,用0代表正數(shù),用1代表負(fù)數(shù),通常有三種表示法:原碼、補(bǔ)碼和反碼。數(shù)值在計(jì)算機(jī)中的表示形式(二進(jìn)制數(shù))。真值:例:10011100真值機(jī)器碼15原碼的表示方法符號(hào)位用0或1表示,數(shù)值部分不變0的原碼表示(兩種方法)例:(設(shè)機(jī)器字長(zhǎng)為8位)16的原碼為00010000-16的原碼為10010000[+0]原=0[-0]原=100000000的表示不惟一!13的原碼為00001101-13的原碼為1162.反碼表示方法

0的反碼表示(兩種方法)X>0時(shí),[X]反=[X]原X<0時(shí),[X]反=將原碼除符號(hào)位外逐位取反[+0]反=00000000[-0]反=111111110的表示不惟一!16的原碼為00010000-16的原碼為1001000016的反碼為00010000-16的反碼為11101111173.補(bǔ)碼(1)補(bǔ)碼(Two’sComplement)的概念生活例子:現(xiàn)為北京時(shí)間下午4點(diǎn),但鐘表顯示為7點(diǎn)。有兩種辦法校對(duì):

①做減法7-3=4(逆時(shí)針退3格)

②做加法7+9=16(順時(shí)針進(jìn)9格)

16(mod12)=16-12=4(以12為模,變成4)∴減3與加9相當(dāng)!∴-3=+9!(以12為模!)(同余式)18x2n>x≥00,正數(shù)[x]補(bǔ)=符號(hào)

2n+1+x=2n+1-|x|0≥x>-2n1,負(fù)數(shù)例:n=7bit(數(shù)值位、最高位為符號(hào)位!)[+3]原碼=0000,0011=03H[-3]原碼=1000,0011=83H

[-3]反碼=1111,1100=0FCH

[-3]補(bǔ)碼=1111,1101=0FDH

[-3]補(bǔ)碼=28-3=1,0000,0000-0000,0011=1111,1101=0FDH19(2)一個(gè)數(shù)補(bǔ)碼的求法

0的補(bǔ)碼表示(一種方法)X>0時(shí),[X]補(bǔ)=[X]原X<0時(shí),[X]補(bǔ)=[X]反+1[+0]補(bǔ)=00000000[-0]補(bǔ)=11111111+1=000000000的表示惟一!16的原碼為00010000-16的原碼為1001000016的補(bǔ)碼為00010000-16的反碼為11101111-16的補(bǔ)碼為1111000020例1.11機(jī)器字長(zhǎng)n=8位,x=+56D,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。

-56D=-

0111000B,注意:為了區(qū)別指令碼和數(shù)據(jù),規(guī)定A~F開始的數(shù)據(jù)前面加零。解:因?yàn)闄C(jī)器字長(zhǎng)是8位,其中符號(hào)占了1位,所以數(shù)值部分應(yīng)占7位:+56D=+0111000B,例1.12機(jī)器字長(zhǎng)n=8位,x=-56D,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。解:因?yàn)闄C(jī)器字長(zhǎng)是8位,其中符號(hào)占了1位,所以數(shù)值部分應(yīng)占7位:則[+56]補(bǔ)=00111000B=38H則[-56]補(bǔ)=1

1001000B=0C8H21例1.13機(jī)器字長(zhǎng)n=16位,x=+56D,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。+56D=+111000B=+000000000111000B解:因?yàn)闄C(jī)器字長(zhǎng)是16位,其中符號(hào)占了1位,所以數(shù)值部分應(yīng)占15位:-56D=-111000B=-000000000111000B=-0038H解:因?yàn)闄C(jī)器字長(zhǎng)是16位,其中符號(hào)占了1位,所以數(shù)值部分應(yīng)占15位:例1.14機(jī)器字長(zhǎng)n=16位,x=-56D,求[x]補(bǔ),結(jié)果用十六進(jìn)制表示。則[+56]補(bǔ)=0000000000111000B=0038H與例1.11比較!則[-56]反=1111111111000111B=0FFC7H則[-56]補(bǔ)=1111111111001000B=0FFC8H與例1.12比較!224.二進(jìn)制數(shù)補(bǔ)碼的運(yùn)算①補(bǔ)碼加法[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)(mod2n)②補(bǔ)碼減法[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)[-Y]補(bǔ)=乛[Y]補(bǔ)+2-n已知[Y]補(bǔ)求[-Y]補(bǔ)的方法:將[Y]補(bǔ)按位求反(包括符號(hào)位)末位加1!23進(jìn)位,丟掉進(jìn)位,丟掉解:+15D=+0001111B[+15]補(bǔ)=00001111-33D=-0100001B[-33]反=11011110-15D=-0001111B[-15]反=1111000000110000 [+48]補(bǔ)11101110[-18]補(bǔ)例1.15(自學(xué)!)用補(bǔ)碼進(jìn)行下列運(yùn)算:(+33)+(+15);(-33)+(+15);(+33)+(-15);(-33)+(-15)11011111[-33]補(bǔ)+00001111[+15]補(bǔ)

00100001[+33]補(bǔ)

+00001111 [+15]補(bǔ)00100001[+33]補(bǔ)11011111[-33]補(bǔ)+11110001[-15]補(bǔ)+11110001[-15]補(bǔ)(1)00010010[+18]補(bǔ)(1)11010000 [-48]補(bǔ)[+33]補(bǔ)=00100001+33D=+0100001B[-33]補(bǔ)=11011111[-15]補(bǔ)=1111000124加法指令對(duì)條件標(biāo)志位的影響CF位表示無(wú)符號(hào)數(shù)相加的溢出。OF位表示帶符號(hào)數(shù)相加的溢出。1結(jié)果為負(fù)0否則SF=1結(jié)果為00否則ZF=1和的最高有效位有向高位的進(jìn)位0否則CF=1兩個(gè)操作數(shù)符號(hào)相同,而結(jié)果符號(hào)與之相反0否則OF=25舉例:n=8bit帶符號(hào)數(shù)(-128~127),無(wú)符號(hào)數(shù)(0~255)

00000100+0000101100001111帶:(+4)+(+11)=+15OF=0無(wú):4+11=15CF=0帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都不溢出00001001+0111110010000101帶:(+9)+(+124)=-123OF=1無(wú):9+124=133CF=0帶符號(hào)數(shù)溢出無(wú)符號(hào)數(shù)溢出00000111+11111011100000010帶:(+7)+(-5)=+2OF=0無(wú):7+251=2CF=1帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都溢出10000111+11110101101111100帶:(-121)+(-11)=+124OF=1無(wú):135+245=124CF=126進(jìn)位,丟掉例1.16(自學(xué)!)例1.17設(shè)x=+64D,y=+10D,用補(bǔ)碼計(jì)算x-y,結(jié)果用十進(jìn)制形式表示。所以x-y=+0110110B=+54D[x-y]補(bǔ) =00110110x=+1000000B[x]補(bǔ) =01000000解:y=+0001010B[-y]補(bǔ) =1111011001000000 [x]補(bǔ)+11110110 [-y]補(bǔ)(1) 00110110[x-y]補(bǔ)27補(bǔ)碼的加法和減法:對(duì)一個(gè)正數(shù)的補(bǔ)碼(即其原碼)按位求反后,再在末位加1,可得到此正數(shù)相應(yīng)的負(fù)數(shù)的補(bǔ)碼表示。求補(bǔ)運(yùn)算

:對(duì)一個(gè)二進(jìn)制數(shù)按位求反、末位加一[X]補(bǔ)碼

[-X]補(bǔ)碼

[X]補(bǔ)碼加法規(guī)則:[X+Y]補(bǔ)碼

=[X]補(bǔ)碼

+[Y]補(bǔ)碼減法規(guī)則:[X-Y]補(bǔ)碼

=[X]補(bǔ)碼

+[-Y]補(bǔ)碼

補(bǔ)碼減法可轉(zhuǎn)換為補(bǔ)碼加法64(-46)18+0100000011010010;46=2E00010010;2E求補(bǔ)得+例:28③溢出問題:P18(自學(xué)!)292.定點(diǎn)整數(shù)1.定點(diǎn)小數(shù)1.2.3定點(diǎn)數(shù)與浮點(diǎn)數(shù)X=XS.

X-1X-2…

X-M(XS為符號(hào)位)X=XSXn-1Xn-2…

X2X1X0(XS為符號(hào)位)小數(shù)點(diǎn)的位置在所有數(shù)字之前小數(shù)點(diǎn)的位置在所有數(shù)字之后3.浮點(diǎn)數(shù)110.1001=1.101001*2+10=0.1101001*2+11=110100.1*2-11科學(xué)記數(shù)法:303.浮點(diǎn)數(shù):(引例)電子質(zhì)量(克):9×10-28=0.9×10-27

太陽(yáng)質(zhì)量(克):2×1033=0.2×1034

∴把一個(gè)數(shù)的有效數(shù)字和數(shù)的范圍在計(jì)算機(jī)的一個(gè)存儲(chǔ)單元中分別予以表示!浮點(diǎn)表示法:這種把數(shù)的范圍和精度分別表示的方法,相當(dāng)于數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)可以自由浮動(dòng),∴稱為浮點(diǎn)表示法。31階符階碼數(shù)符尾數(shù)定點(diǎn)純整數(shù)定點(diǎn)純小數(shù)0或1圖1.1浮點(diǎn)數(shù)存儲(chǔ)格式圖1.2浮點(diǎn)數(shù)存儲(chǔ)格式圖1.3IEEE75432位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式0.1011*2+1132浮點(diǎn)數(shù)數(shù)據(jù)格式IEEE(InstituteofElectricalandElectronicEngineers)754標(biāo)準(zhǔn)(規(guī)定了浮點(diǎn)數(shù)的表示格式,運(yùn)算規(guī)則等)規(guī)則規(guī)定了單精度(32)和雙精度(64)的基本格式.規(guī)則中,尾數(shù)用原碼,指數(shù)用移碼(便于對(duì)階和比較)33浮點(diǎn)數(shù)數(shù)據(jù)格式IEEE754標(biāo)準(zhǔn)基數(shù)R=2,基數(shù)固定,采用隱含方式來(lái)表示它。32位的浮點(diǎn)數(shù):S數(shù)的符號(hào)位,1位,在最高位,“0”表示正數(shù),“1”表示負(fù)數(shù)。M是尾數(shù),23位,在低位部分,采用純小數(shù)表示E是階碼,8位,采用移碼表示。移碼比較大小方便。規(guī)格化:若不對(duì)浮點(diǎn)數(shù)的表示作出明確規(guī)定,同一個(gè)浮點(diǎn)數(shù)的表示就不是惟一的。尾數(shù)域最左位(最高有效位)總是1,故這一位經(jīng)常不予存儲(chǔ),而認(rèn)為隱藏在小數(shù)點(diǎn)的左邊。采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值127(01111111),即E=e+127(參見組成原理)34浮點(diǎn)數(shù)數(shù)據(jù)格式64位的浮點(diǎn)數(shù)中符號(hào)位1位,階碼域11位,尾數(shù)域52位,指數(shù)偏移值是1023。因此規(guī)格化的64位浮點(diǎn)數(shù)x的真值為:x=(-1)S×(1.M)×2E-1023

e=E-1023一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)x的真值表示為x=(-1)S×(1.M)×2E-127

e=E-12735是一種用二進(jìn)制編碼表示十進(jìn)制數(shù)的編碼方法最常用的BCD碼是8421碼.用4位二進(jìn)制編碼表示1位十進(jìn)制數(shù).(52

9)10=(0101

0010

1001)BCD1.2.4十進(jìn)制數(shù)的編碼1.BCD碼(二—十進(jìn)制碼)BinaryCodedDecimal例如:

362.BCD碼的加減運(yùn)算BCD碼的運(yùn)算規(guī)則:當(dāng)兩個(gè)BCD碼相加,如果和等于或小于1001,即9H,不需要修正;如果相加之和在1010到1111即0AH~0FH之間,則需加6H加以修正;如果相加時(shí)本位產(chǎn)生了進(jìn)位,則需加6H加以修正。37解:(4)BCD=0100,(5)BCD=0101運(yùn)算過(guò)程如下:0100 4+)010151001 9例1.21利用BCD碼計(jì)算計(jì)算5+7。解:(5)BCD=0101,(7)BCD=0111運(yùn)算過(guò)程如下:0101 5+) 0111 71100 結(jié)果

溫馨提示

  • 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論