第 0 章(2)━━計(jì)算機(jī)中數(shù)據(jù)的表示_第1頁
第 0 章(2)━━計(jì)算機(jī)中數(shù)據(jù)的表示_第2頁
第 0 章(2)━━計(jì)算機(jī)中數(shù)據(jù)的表示_第3頁
第 0 章(2)━━計(jì)算機(jī)中數(shù)據(jù)的表示_第4頁
第 0 章(2)━━計(jì)算機(jī)中數(shù)據(jù)的表示_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C++程序設(shè)計(jì)第0章(2)

━━計(jì)算機(jī)中數(shù)據(jù)的表示1主要內(nèi)容信息的數(shù)字化編碼進(jìn)位計(jì)數(shù)制━━基數(shù)、數(shù)位、位權(quán)進(jìn)位計(jì)數(shù)制━━按位權(quán)展開多項(xiàng)式、二進(jìn)制、八進(jìn)制、十六進(jìn)制進(jìn)位計(jì)數(shù)制━━進(jìn)制轉(zhuǎn)換機(jī)器數(shù)━━原碼、補(bǔ)碼、反碼、移碼數(shù)據(jù)中小數(shù)點(diǎn)的表示━━定點(diǎn)表示、浮點(diǎn)表示邏輯數(shù)據(jù)編碼西文字符編碼━━ASCII碼十進(jìn)制數(shù)的二進(jìn)制編碼(BCD碼)━━8421碼漢字編碼━━區(qū)位碼、國標(biāo)碼、機(jī)內(nèi)碼、字形碼、地址碼漢字編碼━━漢字信息處理的國際化和標(biāo)準(zhǔn)化2信息的數(shù)字化編碼信息:

①數(shù)值信息:指具有確定的值,且在數(shù)軸上有對應(yīng)的點(diǎn)。

②非數(shù)值信息:指數(shù)軸上沒有對應(yīng)點(diǎn)的信息,如字符、文字、語音、圖形、圖像等。信息的數(shù)字化編碼:計(jì)算機(jī)進(jìn)行信息處理時(shí),首先要將相應(yīng)的信息輸入到計(jì)算機(jī)中,并以一定的數(shù)據(jù)形式存儲(chǔ)在計(jì)算機(jī)中。計(jì)算機(jī)內(nèi)部是一個(gè)二進(jìn)制數(shù)字世界,因此,不論是數(shù)值信息還是非數(shù)值信息,都必須經(jīng)過數(shù)字化編碼轉(zhuǎn)換成二進(jìn)制碼的形式,才能進(jìn)行傳送、存儲(chǔ)和處理。

內(nèi)存數(shù)值十進(jìn)制→二進(jìn)制西文ASCII碼漢字輸入碼→機(jī)內(nèi)碼聲音、圖像模擬信號

→數(shù)字信號輸入設(shè)備二進(jìn)制→十進(jìn)制數(shù)值A(chǔ)SCII碼→西文字形碼西文機(jī)內(nèi)碼→漢字字形碼漢字?jǐn)?shù)字信號→模擬信號聲音、圖像輸出設(shè)備3進(jìn)位計(jì)數(shù)制━━基數(shù)、數(shù)位、位權(quán)基數(shù):不同的進(jìn)位計(jì)數(shù)制是以基數(shù)(Radix)來區(qū)分的,若以r表示基數(shù),則:

r=10十進(jìn)制━━可使用的數(shù)符:0~9

進(jìn)位計(jì)數(shù)規(guī)則:逢10進(jìn)1,借1當(dāng)10

②r=2二進(jìn)制━━可使用的數(shù)符:0、1

進(jìn)位計(jì)數(shù)規(guī)則:逢2進(jìn)1,借1當(dāng)2

③r=8八進(jìn)制━━可使用的數(shù)符:0~7

進(jìn)位計(jì)數(shù)規(guī)則:逢8進(jìn)1,借1當(dāng)8

④r=16十六進(jìn)制━━可使用的數(shù)符:0~9、A、B、C、D、E、F

進(jìn)位計(jì)數(shù)規(guī)則:逢16進(jìn)1,借1當(dāng)16

⑤rR進(jìn)制━━可使用的數(shù)符:0~r-1

進(jìn)位計(jì)數(shù)規(guī)則:逢r進(jìn)1,借1當(dāng)r數(shù)位:指數(shù)符在一個(gè)數(shù)中所處的位置。4進(jìn)位計(jì)數(shù)制━━基數(shù)、數(shù)位、位權(quán)位權(quán):指某進(jìn)制數(shù)的每一個(gè)數(shù)位上數(shù)符所具有的權(quán)值。

①十進(jìn)制━━數(shù)中各個(gè)數(shù)位的位權(quán)值是以10為底的冪。

②二進(jìn)制━━數(shù)中各個(gè)數(shù)位的位權(quán)值是以2為底的冪。

R進(jìn)制━━數(shù)中各個(gè)數(shù)位的位權(quán)值是以r為底的冪。每個(gè)位置上數(shù)符所代表的值等于該數(shù)符乘以該位的位權(quán)值?!纠渴M(jìn)制:(752.65)10

=7×102

+5×101+2×100

+6×10-1

+5×10-2

二進(jìn)制:(1011.01)2

=1×23+0×22

+1×21+1×20

+0×2-1

+1×2-2

=(11.25)10

八進(jìn)制:(752.65)8

=7×82+5×81

+2×80

+6×8-1

+5×8-2

=(490.828125)10

十六進(jìn)制:(752.65)16

=7×162+5×161

+2×160+6×16-1+5×16-2

=(1874.394531)10

5進(jìn)位計(jì)數(shù)制━━按位權(quán)展開多項(xiàng)式按位權(quán)展開多項(xiàng)式:

①若十進(jìn)制數(shù)N為:dn

dn-1

d1d0

.d-1d-2

d-(m-1)

d-m

則:N=dn×10n+dn-1×10n-1+…+d1×101+d0×100

+d-1×10-1+…+d-m×10-m

其中,di是0~9

數(shù)符中的任意一個(gè),m、n是正整數(shù),10是基數(shù)。

【例】N=(694.923)10=6×102

+

9×101

+4×100

+9×10-1

+

2×10-2

+3×10-3

☆移位操作:對于十進(jìn)制數(shù),若將各位向左移動(dòng)1位,則其值增大到原來的10倍;若將各位向右移動(dòng)1位,則其值減小到原來的十分之一。

【例】十進(jìn)制數(shù):N=(694.923)10

向左移1位:N=(6949

.23)10是原來的10倍向右移1位:N=(69.4923)10是原來的十分之一6進(jìn)位計(jì)數(shù)制━━二進(jìn)制②若二進(jìn)制數(shù)N為:dn

dn-1

d1d0

.d-1d-2

d-(m-1)

d-m

則:N=dn×2n+dn-1×2n-1+…+d1×21+d0×20

+d-1×2-1+…+d-m×2-m

其中,di是0、1

數(shù)符中的任意一個(gè),m、n是正整數(shù),2是基數(shù)。

【例】N=(1101001.101)2=26

+25+23+20+2-1

+2-3

=(105.625)10

☆移位操作:對于二進(jìn)制數(shù),若將各位向左移動(dòng)1位,則其值增大到原來的2倍;若將各位向右移動(dòng)1位,則其值減小到原來的二分之一。

【例】二進(jìn)制數(shù):N=(101011.1

)2=

(43.5)10

向左移1位:N=(1010111

)2=

(87

)10是原來的2倍向右移1位:N=(10101.11

)2=

(21.75

)10是原來的二分之一7進(jìn)位計(jì)數(shù)制━━八進(jìn)制③若八進(jìn)制數(shù)N為:dn

dn-1

d1d0

.d-1d-2

d-(m-1)

d-m

則:N=dn×8n+dn-1×8n-1+…+d1×81+d0×80

+d-1×8-1+…+d-m×8-m

其中,di是0~7

數(shù)符中的任意一個(gè),m、n是正整數(shù),8是基數(shù)。

【例】

N=(576.712)8

=5×82

+7×81

+6×80

+7×8-1

+

1×8-2

+2×8-3=5×(23)2

+7×(23)1

+6×(23)0

+7×(23)-1

+

1×(23)-2

+2×(23)-3=(101

111

110

.

111

001

010)2

=(382.89453125)10

【例】

N=(11110.11111)2=(011

110

.

111

110

)2

=(36.76)8

=(30.96875)10

八進(jìn)制←二進(jìn)制:采用“三位并一位”方法,以小數(shù)點(diǎn)為基準(zhǔn),整數(shù)部分從右到左,每三位一組,高位不足三位時(shí)補(bǔ)0;小數(shù)部分從左到右,每三位一組,低位不足三位時(shí)補(bǔ)0;然后每組改成等值的一位八進(jìn)制數(shù)符即可。八進(jìn)制→二進(jìn)制:采用“一位拆三位”方法,將每位的八進(jìn)制數(shù)用等值的三位二進(jìn)制數(shù)代替,然后連接起來即可。8進(jìn)位計(jì)數(shù)制━━十六進(jìn)制④若十六進(jìn)制數(shù)N為:dn

dn-1

d1d0

.d-1d-2

d-(m-1)

d-m

則:N=dn×16n+dn-1×16n-1+…+d1×161+d0×160

+d-1×16-1+…+d-m×16-m

其中,di是0~9、A、B、C、D、E、F

數(shù)符中的任意一個(gè),16是基數(shù)。

【例】

N=(13BD2.7C)16=1×164

+3×163

+11×162

+13×161

+2×160

+7×16-1

+12×16-2

=1×(24)4

+3×(24)3

+11×(24)2

+13×(24)1

+2×(24)0

+7×(24)-1

+12×(24)-2

=(0001

0011

1011

1101

0010.0111

1100)2=(80850.484375)10【例】

N=(11110.11111)2=(0001

1110

.

1111

1000

)2

=(1E.F8)16

=(30.96875)10

十六進(jìn)制←二進(jìn)制:采用“四位并一位”方法,以小數(shù)點(diǎn)為基準(zhǔn),整數(shù)部分從右到左,每四位一組,高位不足四位時(shí)補(bǔ)0;小數(shù)部分從左到右,每四位一組,低位不足四位時(shí)補(bǔ)0;然后每組改成等值的一位十六進(jìn)制數(shù)符即可。十六進(jìn)制→二進(jìn)制:采用“一位拆四位”方法,將每位的十六進(jìn)制數(shù)用等值的四位二進(jìn)制數(shù)代替,然后連接起來即可。9進(jìn)位計(jì)數(shù)制━━R進(jìn)制

⑤若R進(jìn)制數(shù)N為:dn

dn-1

d1d0

.d-1d-2

d-(m-1)

d-m

則:N=dn×rn

+dn-1×rn-1+…+d1×r1+d0×r0

+d-1×r-1+…+d-m×r-m

其中,di是0~r-1

數(shù)符中的任意一個(gè),m、n是正整數(shù),r是基數(shù)。

【例】N=(536.12)7

=5×72+3×71

+6×70

+1×7-1

+2×7-2=(272.1836734693878)10

☆移位操作:對于R進(jìn)制數(shù),若將各位向左移動(dòng)1位,則其值增大到原來的r倍;若將各位向右移動(dòng)1位,則其值減小到原來的r分之一。二進(jìn)制、八進(jìn)制、十六進(jìn)制、R進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):采用“按權(quán)相加法”,可將任意一種進(jìn)制的數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),只需按位權(quán)展開然后相加,得到的和就是其等值的十進(jìn)制數(shù)。10進(jìn)位計(jì)數(shù)制━━常用的進(jìn)位制之間的對應(yīng)關(guān)系

十進(jìn)制(D)二進(jìn)制(B)八進(jìn)制(O)十六進(jìn)制(H)000011112102231133410044510155611066711177810001089100111910101012A、a11101113B、b12110014C、c13110115D、d14111016E、e15111117F、f11進(jìn)位計(jì)數(shù)制━━進(jìn)制轉(zhuǎn)換十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):

①整數(shù)部分━━“除2取余,自后而前”分析:若十進(jìn)制整數(shù)N已被表示成等值的二進(jìn)制數(shù):dn

dn-1…

d1d0

則:N=

dn×2n

+dn-1×2n-1

+…+d1×21+d0×20

將上式除以2,得到的余數(shù)是d0;再將商除以2,所得到的余數(shù)是d1;以此類推,一直進(jìn)行下去,直到商為0。得到的余數(shù)序列反向排列后,就是二進(jìn)制整數(shù)中各個(gè)位置上的數(shù)符:dn

dn-1…d1d0

②小數(shù)部分━━“乘2取整,自前而后”分析:若十進(jìn)制小數(shù)N已被表示成等值的二進(jìn)制數(shù):0.

d-1d-2…d-(m-1)d-m

則:N=

d-1×2-1

+d-2×2-2

+…+d-(m-1)×2-(m-1)+d-m×2-m

將上式乘以2,得到的整數(shù)是d-1;再將小數(shù)部分乘以2,所得到的整數(shù)是d-2;以此類推,一直進(jìn)行下去,直到小數(shù)部分為0或者小數(shù)位數(shù)達(dá)到指定要求為止。得到的整數(shù)序列正向排列后,就是二進(jìn)制小數(shù)中各個(gè)位置上的數(shù)符:0.

d-1d-2…d-(m-1)d-m

12【例】求(102.345

)10

=(

?)2

(要求:小數(shù)位數(shù)保留6位)

(102.345

)10

=(

1100110.01011)2

102求余數(shù)

251022512121260230211

0

1

一直除到商為0為止。將余數(shù)序列反向排列,得到:(102)10=(1100110)2取整數(shù)0.345×2

0

0.690×2

1

1.38×2

0

0.76×21

1.52×21

1.04×20

0.08一直乘到小數(shù)部分為0或者小數(shù)位數(shù)達(dá)到指定要求為止。

將整數(shù)序列正向排列,得到:(0.345)10=(0.01011)2

13機(jī)器數(shù)機(jī)器數(shù)、真值:在計(jì)算機(jī)中,數(shù)據(jù)(包括數(shù)據(jù)中的正負(fù)符號和小數(shù)點(diǎn)位置)都是用特定的二進(jìn)制代碼和格式上的約定來表示的。一個(gè)數(shù)在計(jì)算機(jī)內(nèi)部表示成的二進(jìn)制形式稱為機(jī)器數(shù),原來的數(shù)稱為這個(gè)機(jī)器數(shù)的真值。機(jī)器數(shù)的特點(diǎn):①機(jī)器數(shù)有固定的位數(shù),它所表示的數(shù)受到計(jì)算機(jī)固有位數(shù)的限制,因此機(jī)器數(shù)具有一定的范圍,超過這個(gè)范圍將發(fā)生溢出。

②機(jī)器數(shù)將其真值的正負(fù)符號數(shù)字化。計(jì)算機(jī)中只能識(shí)別0和1,數(shù)的正負(fù)符號就通過0和1來加以區(qū)分,在機(jī)器數(shù)中規(guī)定其符號位(通常是一個(gè)數(shù)的最高位),使用0和1分別表示其值的正和負(fù)。

③機(jī)器數(shù)中依靠格式上的約定來表示小數(shù)點(diǎn)的位置。

14機(jī)器數(shù)━━原碼原碼表示法:將機(jī)器數(shù)的最高位(即最左邊的一位)規(guī)定為符號位,且以0表示正號,以1表示負(fù)號;其余的各位用來表示數(shù)的大小,即數(shù)的絕對值。換句話說:正整數(shù)的原碼就是該數(shù)本身,負(fù)整數(shù)的原碼在數(shù)的絕對值前加入表示負(fù)號的1。【例】假設(shè)機(jī)器數(shù)的位數(shù)是8位,則:

[+73]原

=01001001[+127]原

=01111111[–73]原

=11001001[–127]原

=11111111

[+0]原

=00000000

[–0]原

=10000000原碼表示簡單易懂,與真值轉(zhuǎn)換方便。但原碼機(jī)器數(shù)在參與運(yùn)算時(shí),若將符號位和數(shù)值一起進(jìn)行運(yùn)算,有時(shí)會(huì)產(chǎn)生錯(cuò)誤的結(jié)果?!纠卡D6+4的正確結(jié)果應(yīng)該為―2,但按下面原碼運(yùn)算,結(jié)果為―10:

10000110―6的原碼機(jī)器數(shù)+

000001004的原碼機(jī)器數(shù)

10001010結(jié)果的原碼還原為真值為―10

對于真值0,可以被認(rèn)為是+0,也可以被認(rèn)為是–0,其原碼不唯一。15機(jī)器數(shù)━━補(bǔ)碼“模”的概念:模是指一個(gè)計(jì)量系統(tǒng)的計(jì)數(shù)范圍。

【例】時(shí)鐘的模為12,計(jì)量范圍是0~11。若時(shí)鐘當(dāng)前指向9,要使其指向4,可以逆時(shí)針撥動(dòng)5小時(shí),即:(9–5)=4;也可以順時(shí)針撥動(dòng)7小時(shí),即:(9+7)除以模(12)取其余數(shù)=4。這樣,減法運(yùn)算(9–5)就轉(zhuǎn)換成加法運(yùn)算(9+7)除以模(12)取余數(shù)

,那么+7就可以看成是–5的補(bǔ)碼。【例】字長n位的計(jì)算機(jī),表示整數(shù)時(shí)其模為2n,計(jì)量范圍是0~2n-1。假設(shè)n=8,模為28=256,計(jì)量范圍是0~255(二進(jìn)制表示為00000000~11111111)。若當(dāng)前值是11111111,再加1,計(jì)數(shù)值變?yōu)?0000000,最高位上溢出了一個(gè)1。任何有模的計(jì)量器,均可化減法為加法運(yùn)算,只需將負(fù)數(shù)用其補(bǔ)碼來表示即可。補(bǔ)碼表示法:若計(jì)算機(jī)字長為n位,對于整數(shù)X而言,則:

X0≤X<2n-1(X為正數(shù)時(shí))

[X]補(bǔ)

= 2n+X=2n-|X|–2n-1≤X<0(X為負(fù)數(shù)時(shí))換句話說,正整數(shù)X的補(bǔ)碼就是該數(shù)X自己,負(fù)整數(shù)X的補(bǔ)碼為2n-|X|。16【例】假設(shè)機(jī)器數(shù)的位數(shù)是8位,則:

[+73]補(bǔ)

=01001001(73)10=(01001001)2[–73]補(bǔ)=10110111(28-73)10=(10110111)2[+127]補(bǔ)=01111111(127)10=(01111111)2

[–127]補(bǔ)=10000001(28-127)10=(10000001)2[+1]補(bǔ)=00000001(1)10=(00000001)2

[–1]補(bǔ)=11111111

(28-1)10=(11111111)2

[+0]補(bǔ)=00000000(0)10=(00000000)2

[–0]補(bǔ)

=00000000(28-0)10=(100000000)2機(jī)器數(shù)是8位,最高位的1自動(dòng)溢出。對于真值0,無論是+0或是–0,補(bǔ)碼是唯一的。若機(jī)器數(shù)是8位,則:當(dāng)X>0時(shí),最大值的[X]補(bǔ)=01111111→(+

127)真值當(dāng)X<0時(shí),絕對值最大的[X]補(bǔ)=10000000→(-128)真值8位整數(shù)的補(bǔ)碼表示范圍是:―128~+127請思考:若機(jī)器數(shù)是16位,則:當(dāng)X>0時(shí),最大值的[X]補(bǔ)=?→(+?)真值當(dāng)X<0時(shí),絕對值最大的[X]補(bǔ)=?→(-?)真值16位整數(shù)的補(bǔ)碼表示范圍是:―?~+?17機(jī)器數(shù)━━補(bǔ)碼求負(fù)整數(shù)補(bǔ)碼的便捷方法:符號位取1,其余各位按其真值逐位取反,然后在末位加上1。簡稱“求反加1法”。從補(bǔ)碼求真值的便捷方法:若補(bǔ)碼的符號位為0,表示其真值為正數(shù),則符號位后的二進(jìn)制代碼就是真值;若補(bǔ)碼的符號位為1,表示其真值為負(fù)數(shù),則將符號位后的二進(jìn)制代碼逐位取反,然后在末位加上1,所得結(jié)果加上負(fù)號后即為真值?!纠壳螅èD36)10的補(bǔ)碼。第1步:求出(―36)10的等值二進(jìn)制數(shù),得:(–0100100

)2

第2步:符號位取1,其余各位取反,得:11011011

第3步:末位加上1,得:11011100

因此[–36]補(bǔ)

=[11011100]補(bǔ)

【例】求[11110110]補(bǔ)的真值。第1步:除符號位外,各位取反,得:0001001

第2步:末位加上1,得:

―0001010

第3步:真值為(–0001010)2→

(–10)1018機(jī)器數(shù)━━補(bǔ)碼采用補(bǔ)碼表示后,減法運(yùn)算也統(tǒng)一到加法運(yùn)算,從而大大簡化計(jì)算機(jī)運(yùn)算部件的電路設(shè)計(jì),所以現(xiàn)代計(jì)算機(jī)中都使用補(bǔ)碼形式的機(jī)器數(shù)?!纠卡D6+4的正確結(jié)果為―2,按下面補(bǔ)碼運(yùn)算,結(jié)果為―2:

11111010―6的補(bǔ)碼機(jī)器數(shù)+000001004的補(bǔ)碼機(jī)器數(shù)

11111110結(jié)果的補(bǔ)碼還原為真值為―20

因?yàn)榻Y(jié)果的補(bǔ)碼其符號位為1,表示真值為負(fù)數(shù),按“求反加1法”,得:真值為(–

0000010)2→

(–2)10

根據(jù)補(bǔ)碼定義,可以證明:[X]補(bǔ)+[Y]補(bǔ)=[X+

Y]補(bǔ)

[X]補(bǔ)

―[Y]補(bǔ)=[X―Y]補(bǔ)這表明,兩個(gè)補(bǔ)碼加減的結(jié)果也是補(bǔ)碼,而且在運(yùn)算時(shí),符號位連同數(shù)值部分作為一個(gè)整體參加運(yùn)算,若符號位有進(jìn)位,則舍去進(jìn)位。19機(jī)器數(shù)━━反碼、移碼關(guān)于反碼:利用“求反加1法”的可求得負(fù)整數(shù)的補(bǔ)碼,若只求反而不加1,就得到另一種機(jī)器數(shù)的表示,即反碼表示。反碼很少直接用于計(jì)算中,主要被用作真值求補(bǔ)碼的一個(gè)過渡手段。反碼表示法:若計(jì)算機(jī)字長為n位,對于整數(shù)而言,則:

X

0≤X<2n-1(X為正數(shù)時(shí))

[X]反

=

(2n―1)+X

–2n-1≤X<0(X為負(fù)數(shù)時(shí))換句話說,正整數(shù)X的反碼就是該數(shù)X自己,負(fù)整數(shù)X的反碼為(2n―1)+X。移碼表示法:若計(jì)算機(jī)字長為n位,對于整數(shù)而言,則:

[X]移

=2(n-1)+X―2(n-1)≤X<2(n-1)

換句話說,無論為正還是為負(fù),都在符號位加“1”(即X加上2(n-1)

),若符號位有進(jìn)位,則舍去進(jìn)位。因此,若真值為正,則移碼的最高位為1;若真值為負(fù),則移碼的最高位為0。

移碼在計(jì)算機(jī)中主要用于表示浮點(diǎn)數(shù)中的階。【例】假設(shè)機(jī)器數(shù)的位數(shù)是8位,則:

[+36]移

=27

+36=10000000+00100100=[10100100]移

[―36]移=27

―36=10000000+11011100=[01011100]移

在移碼表示中,真值“0”的表示是唯一的:[0]移=[10000000]移

20數(shù)據(jù)中小數(shù)點(diǎn)的表示━━定點(diǎn)表示定點(diǎn)表示法:是指已經(jīng)約定了數(shù)據(jù)中小數(shù)點(diǎn)的位置,且固定不變。該位置在設(shè)計(jì)計(jì)算機(jī)時(shí)已被隱式約定,因此無需再用任何狀態(tài)來顯式表示小數(shù)點(diǎn),這樣的數(shù)據(jù)稱為定點(diǎn)數(shù)。在一個(gè)具體的計(jì)算機(jī)中,隱式約定的小數(shù)點(diǎn)位置是固定不變的。定點(diǎn)數(shù)表示形式通常有兩種:

①小數(shù)點(diǎn)位置固定在數(shù)的最高位之前,使機(jī)器所表示的數(shù)都是純小數(shù)。

②小數(shù)點(diǎn)位置固定在數(shù)的最低位之后,使機(jī)器所表示的數(shù)均為整數(shù)。定點(diǎn)小數(shù):【例】假設(shè)n=8,則:

00100010

表示+0.265625

10100010

表示–0.265625

絕對值最大的值有:01111111

表示(+0.1111111)2→

(1–2-7)1011111111

表示(–0.1111111)2→

–(1–2-7)10

絕對值最小的值有:00000001

表示(+0.0000001)2→

(2-7)1010000001

表示(–0.0000001)2→

–(2-7)10數(shù)符●尾數(shù)小數(shù)點(diǎn)21定點(diǎn)整數(shù):【例】假設(shè)n=8,則:

00100010

表示+34

10100010

表示–34

絕對值最大的值有:01111111

表示(+1111111)2→

+(27–1)1011111111

表示(–1111111)2→

–(27–1)10

絕對值最小的值有:00000000

表示(+0000000)2→

(0)1010000000

表示(–0000000)2→

–(0)10

n位的定點(diǎn)整數(shù)表示范圍:|N|≤2(n–1)–1

無符號定點(diǎn)整數(shù):【例】假設(shè)n=8,則:

00100010

表示

3410100010

表示

162

絕對值最大的值為:11111111

表示(

11111111)2→

(28–1)10

絕對值最小的值有:00000000

表示(00000000)2→

(0)10

n位的無符號定點(diǎn)整數(shù)表示范圍:0≤N≤2n–1

數(shù)據(jù)中小數(shù)點(diǎn)的表示━━定點(diǎn)表示數(shù)符●整數(shù)小數(shù)點(diǎn)整數(shù)小數(shù)點(diǎn)●22浮點(diǎn)表示法:是指數(shù)據(jù)中小數(shù)點(diǎn)的位置不是固定不變的,是可以浮動(dòng)的。在科學(xué)計(jì)算中,可能同時(shí)涉及值很大和值很小的數(shù),這就要求計(jì)算機(jī)所表示的數(shù),其小數(shù)位置是可變的。小數(shù)點(diǎn)的位置隨數(shù)值的不同而變化的數(shù)稱為浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的格式:任何一個(gè)浮點(diǎn)數(shù)均由尾數(shù)和階共同構(gòu)成,尾數(shù)可正可負(fù),階也可正可負(fù)。通常規(guī)定,尾數(shù)為二進(jìn)制的定點(diǎn)純小數(shù),約定小數(shù)點(diǎn)在尾數(shù)最高位的左邊;階為二進(jìn)制的定點(diǎn)整數(shù)。

【例】假設(shè)n=32,則:

(18.8125)10

=(10010.1101)2

=(0.100101101)2×2+5數(shù)據(jù)中小數(shù)點(diǎn)的表示━━浮點(diǎn)表示階符7位階數(shù)符23位尾數(shù)●尾數(shù)小數(shù)點(diǎn)指數(shù)

00000101010010110100000000000000●尾數(shù)小數(shù)點(diǎn)指數(shù)23浮點(diǎn)數(shù)的表示范圍━━尾數(shù)的位數(shù)決定數(shù)的精度;階碼的位數(shù)決定數(shù)的范圍。

假設(shè):階e位,尾數(shù)m位,階符、尾數(shù)符各1位,則:

①絕對值最大的數(shù)為:(0.111…111)×2(2e-1)

=(1-0.000…001)×2(2e-1)

=(

1-

2–m)×2(2e-1)

②絕對值最小的數(shù)為:

(0.000…001)×2-(2e-1)

=

2-m×2-(2e-1)

數(shù)據(jù)中小數(shù)點(diǎn)的表示━━浮點(diǎn)表示階符e位階數(shù)符m位尾數(shù)●尾數(shù)小數(shù)點(diǎn)指數(shù)

011…11

0/111111111…11111111●尾數(shù)小數(shù)點(diǎn)指數(shù)

111…11

0/100000000…00000001●尾數(shù)小數(shù)點(diǎn)指數(shù)24浮點(diǎn)數(shù)的溢出:凡是處于下溢區(qū)中的浮點(diǎn)數(shù),其絕對值小于計(jì)算機(jī)中所能表示出來的最靠近于0的值,這時(shí)計(jì)算機(jī)認(rèn)為該數(shù)為“0”,稱為“機(jī)器零”。凡是處于上溢區(qū)中的浮點(diǎn)數(shù),其絕對值大于計(jì)算機(jī)中所能表示出來的最遠(yuǎn)離于0的值,這時(shí)計(jì)算機(jī)將中斷此處理工作,向用戶發(fā)出信號,指出“出現(xiàn)上溢”。數(shù)據(jù)中小數(shù)點(diǎn)的表示━━浮點(diǎn)表示0數(shù)軸計(jì)算機(jī)中所能表示出來的正數(shù)區(qū)域計(jì)算機(jī)中所能表示出來的負(fù)數(shù)區(qū)域下溢區(qū)機(jī)器零上溢區(qū)上溢區(qū)-2–m×2-(2e-1)-(1-2–m)×2(2e-1)

2–m×2-(2e-1)

(1-2–m)×2(2e-1)25非數(shù)值數(shù)據(jù)編碼:計(jì)算機(jī)中存儲(chǔ)的都是由0和1組成的信息,這些信息分別代表各自不同的含義,有的表示機(jī)器指令,有的表示二進(jìn)制數(shù)值,有的表示英文字母,有的表示漢字,有的表示聲音,有的表示圖像等。存儲(chǔ)在計(jì)算機(jī)中的信息采用了各自不同的編碼方案。邏輯數(shù)據(jù):即“真”和“假”,只有兩個(gè)不同的值,在計(jì)算機(jī)中可以用二進(jìn)制的“0”和“1”來表示。理論上,邏輯數(shù)據(jù)只需要二進(jìn)制的一個(gè)位就足夠表示和存儲(chǔ),但為了便于運(yùn)算,在許多系統(tǒng)中往往用一個(gè)字節(jié)或一個(gè)字來表示和存儲(chǔ)邏輯數(shù)據(jù)。有的系統(tǒng)也用“非0”和“0”來表示邏輯值“真”和“假”?;具壿嬤\(yùn)算:邏輯非(!)、邏輯與(^)、邏輯或(v)、邏輯異或(⊕)

①邏輯非:即邏輯否定,運(yùn)算規(guī)則:!0=1、!1=0

②邏輯與:即邏輯乘,運(yùn)算規(guī)則:0^0=0、0^1=0

、1^0=0、1^1=1

③邏輯或:即邏輯加,運(yùn)算規(guī)則:0v0=0

、0v1=1、1v0=1、1v1=1

④邏輯異或:即“XOR”,運(yùn)算規(guī)則:0⊕0=0、0⊕1=1

1⊕0=1、1⊕1=0邏輯數(shù)據(jù)編碼26西文字符集:西文字符是英文大小寫字母、0~9數(shù)字符號、鍵盤上各種符號、以及一些控制符的統(tǒng)稱。字符的集合稱為“字符集”,“字符集”有多種,而對于每一種“字符集”的編碼方案也可以有多種,但無論是哪一種編碼方案,都必須保證每一個(gè)字符對應(yīng)一個(gè)唯一的編碼。目前,使用最廣泛的西文編碼方案是ASCII碼。ASCII碼:即美國標(biāo)準(zhǔn)信息交換碼(AmericanStandardCodeforInformationInterchange)已被國際標(biāo)準(zhǔn)化組織(ISO)批準(zhǔn)為國際標(biāo)準(zhǔn),在全世界通用。ASCII碼是單字節(jié)編碼:以一個(gè)字節(jié)來存放一個(gè)ASCII字符,每個(gè)字節(jié)的最高位(多余的一位)保持為“0”,后面的7位二進(jìn)制表示一個(gè)字符。由于27=128,共有128種不同組合,可用來表示128種不同的字符,其中包括英文大小寫字母、0~9數(shù)字符號、鍵盤上各種符號、以及一些控制符(如換頁符,換行符,響鈴符、水平制表符等)。

西文字符編碼27ASCII碼字符表━━0~31控制符、32空格字符、48~57數(shù)字字符0~9

ASCII碼字符

ASCII碼字符

ASCII碼字符

ASCII碼字符

0(空)NUL

16DLE

32空格

480

1SOH

17DC1

33!

491

2STX

18DC2

34“

502

3ETX

19DC3

35#

513

4EOT

20DC4

36$

524

5END

21NAK

37%

535

6ACK

22SYN

38&

546

7(響鈴)BEL

23ETB

39‘

557

8(退格鍵)BS

24CAN

40(

568

9(水平制表符)HT

25EM

41)

57910(換行)LF

26SUB

42*

58:11(縱向制表符)VT

27ESC

43+

59;12(換頁)FF

28FS

44,

60<13(回車符)CR

29GS

45-

61=14SO

30RS

46.

62>15SI

31US

47/

63?28ASCII碼字符表━━65~90大寫字母A~Z、97~122小寫字母a~z

ASCII碼字符

ASCII碼字符

ASCII碼字符

ASCII碼字符

64@

80P

96`

112p

65A

81Q

97a

113q

66B

82R

98b

114r

67C

83S

99c

115s

68D

84T

100d

116t

69E

85U

101e

117u

70F

86V

102f

118v

71G

87W

103g

119w

72H

88X

104h

120x

73I

89Y

105i

121y

74J

90Z

106j

122z

75K

91[

107k

123{

76L

92\

108l

124|

77M

93]

109m

125}

78N

94^

110n

126~

79O

96_

111o

127DEL29十進(jìn)制數(shù)的二進(jìn)制編碼━━8421碼十進(jìn)制數(shù)的二進(jìn)制編碼表示:是將十進(jìn)制數(shù)表示為二進(jìn)制編碼的形式,簡稱“二~十進(jìn)制編碼”或“BCD碼”。BCD碼(BinaryCodeDecimal)是用四位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),有多種編碼方案,常用的是8421碼。8421碼:將4位的二進(jìn)制碼“0000~1001”分別表示十進(jìn)制數(shù)符“0~9”。8421碼書寫直觀,須注意,8421碼形式上像二進(jìn)制數(shù),但不是真正的二進(jìn)制數(shù)?!纠渴M(jìn)制數(shù):(1997)10

=(0001100110010111)BCD

與(1997)10等值的二進(jìn)制數(shù):

=(11111001101)2

1997十進(jìn)制數(shù)BCD碼0000010001200103001140100501016011070111810009100110000100001100010001120001001030漢字編碼漢字處理過程:

①漢字是表意文字,總字?jǐn)?shù)超過6萬。對數(shù)目繁多的漢字進(jìn)行編碼遠(yuǎn)比對西文字符編碼要復(fù)雜得多。

②根據(jù)漢字處理過程中階段的不同,漢字的編碼主要有:漢字輸入碼、漢字交換碼、漢字機(jī)內(nèi)碼、漢字地址碼和漢字字形碼。漢字輸入編碼:是使用字母和數(shù)字對漢字進(jìn)行編碼,目的是能夠通過西文鍵盤將漢字輸入計(jì)算機(jī)。通常的方法是:按照漢字的字形,或字音,或音形結(jié)合來對漢字進(jìn)行編碼(如拼音碼、五筆字型碼等)。輸入碼國標(biāo)碼機(jī)內(nèi)碼地址碼字形碼漢字輸入漢字輸出31漢字編碼━━漢字國標(biāo)碼、機(jī)內(nèi)碼漢字交換碼:也稱國標(biāo)碼,是在不同計(jì)算機(jī)系統(tǒng)之間進(jìn)行信息交換使用的編碼。它是《信息交換用漢字編碼字符集基本集》的簡稱,是國家標(biāo)準(zhǔn)總局于1981年頒布的國家標(biāo)準(zhǔn),編號為GB2312—80,基本集中共計(jì)7445個(gè)漢字字符。GB2312—80信息交換編碼表:由三部分組成:第一部分是字母、數(shù)字和各種符號,包括拉丁字母、俄文、日文平假名與片假名、希臘字母、漢語拼音等圖形和符號,共682個(gè);第二部分為一級常用漢字,共3755個(gè),按漢語拼音排列;第三部分為二級常用字,共3008個(gè),按偏旁部首的筆畫數(shù)排列。漢字區(qū)位碼:將基本集中的7445個(gè)漢字字符,編排成94×94的漢字字符編碼表。表中的行稱為區(qū),列稱為位。采用兩個(gè)字節(jié)的7位二進(jìn)制編碼表示,以第一字節(jié)表示行,第二字節(jié)表示列,構(gòu)成了區(qū)位碼。兩個(gè)字節(jié)的區(qū)位碼中每個(gè)字節(jié)可表示成一個(gè)兩位的十進(jìn)制數(shù),這樣一個(gè)漢字字符的區(qū)位碼由4位十進(jìn)制數(shù)碼組成。

【例】漢字“啊”,區(qū)位碼是1601,表示位于十進(jìn)制數(shù)的第16區(qū)、第01位,對應(yīng)的二進(jìn)制編碼第一字節(jié)為00010000,第二字節(jié)為00000001。32GB2312—80信息交換編碼表

(1~9區(qū)為圖形符號區(qū):682個(gè)圖形符號)(10~15區(qū)為未用區(qū):用于自定義圖形符號編碼)…

2

字節(jié)第1字節(jié)

(88~94區(qū)為空白區(qū):用于自定義漢字編碼)…

(16~55區(qū)為一級漢字區(qū):3755個(gè)漢字)…

(56~87區(qū)為二級漢字區(qū):3008個(gè)漢字)……33漢字編碼━━漢字國標(biāo)碼、機(jī)內(nèi)碼漢字國標(biāo)

溫馨提示

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

最新文檔

評論

0/150

提交評論