電腦系統(tǒng)中資料的表示法_第1頁
電腦系統(tǒng)中資料的表示法_第2頁
電腦系統(tǒng)中資料的表示法_第3頁
電腦系統(tǒng)中資料的表示法_第4頁
電腦系統(tǒng)中資料的表示法_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

TheEssentialsof

Architecture

SecondEdition

第二章

甯月窗系統(tǒng)中資料的表示法

第二章程目的

?了解數(shù)字表示的基磁,以及在數(shù)位重月您中

是如何慮理的。

?熟悉不同迤制的醇換。

?了解如何因焉溢位和迤位而崖生tf算上的

^差。

第二章程目的

?了解浮黑占表示法基本的概念。

?熟悉一些常用的字元礁。

?了解金昔^?W和更正礁。

3

2.1曾介

?雷:月窗中資in的最基本軍位篇位元(bit)

-在數(shù)位雷:路中是一槿“on”或“。甲的狀熊。

-有日寺曾柳焉“high”或“l(fā)ow”雷魅。

?八他I位元一系且不SS位元系且(byte)

-byte是重月^得者存的最小定址罩位。

-“定址”表示在剎意If中能被擷取的某特定byte

所在的位置。

4

2.1曾介

?word是一條且bytes所橫成。

-Words可以是任意的bits或bytes。

-Word的大小通常是16、32或64bits。

-在word-定址系統(tǒng)中,word是最小的可定址

信譽(yù)存軍位。

?四彳固bits一條且不禽焉nibble(或nybble)°

-所以Byte是由二彳固nibbles所系且成:一彳固

“high-order"nibble和——彳固“l(fā)ow-order”

nibble。

2.2位虢系統(tǒng)

?在bytes信者存數(shù)字口寺,每彳固bit都是2的次方。

-道檬的二迤制系統(tǒng)又耦焉base-2系統(tǒng)。

-平常的十迤制系統(tǒng)焉base-10系統(tǒng)。

-任何的整數(shù)都可以用任何底數(shù)來表式(或基數(shù))

2.2位虢系統(tǒng)

?十迤制:947以10的次方分解來看:

9x102+4x101+7x10°

?十迤制:5836.47以10的次方分解來看:

5x103+8x102+3x10^6x10°+4x10-1

+7x10-2

7

2.2位虢系統(tǒng)

?二迤制11001以2的次方分解來看:

4321

1X2+1X2+0X2+0X2+1X2°

=16+8+0+0+1

=25

?富基數(shù)不是10焉底日寺,曾在數(shù)字附上下本票

-但是有日寺也曾加上10來強(qiáng)I?-

110012=2510

8

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?在前面的投影片中我仔聒兌到,任何整數(shù)都

可以用某槿迤制來表示。

?你可以有二槿方式來迤行不同迤制^的醇

換:一槿是減法,一槿是除繪法。

?減法比申交直受,但是很煩It。但是它曾加

強(qiáng)你封基數(shù)背接的敷擘瞿免念。

9

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?假^我憑要招十迤制的190穗換成三迤制

-我件號知道35=243所以我年心勺結(jié)果曾少於6

偃I位元。我件號需要最大3的次方篇34=81,

加且81x2=162°

-揩2嘉下加招1907咸去162,得到28。

190

-162=34X2

2?

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

招190穗換成以3篇底…

-下一他[3的次方篇33

=27。我便號用283咸去

27,加離下1篇我便?28

要的結(jié)果。27-33X1

-下一彳固3的次方32=9

,結(jié)果太大了,但是0=32x0

我便號必需空一偃I位置-T

放。,符1停下去。

11

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?招190傅換成以3篇底…

-3a3再一次太大了,2

所以我件號再放0。

-3的最接次方,3°=11

,是我便號最彼的逗攆,0

羥生了不是0的結(jié)果。

-彳輪上往下^取結(jié)果焉:-0=31xo

190=210011

110U3J1=3°nX1

0

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?另一槿傅換的方式是用除法。

?造槿方式比較械械化加且較篋i罩。

?它的原理是用速除以要傅換的基底和建

SW亥基底的次方是一檬的道理。

?我年號道次用除繪法來傅換十迤制190篇基

底3。

13

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

招190穗換成以3篇底…

-首先我年盟等欲醇換的

數(shù)除以要傅謾去的基31901

底。

63

-在此例中,190可以被

3除63次,最彼繪1

O

-符商和繪數(shù)!己金象下來

14

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

符190穗換成以3焉底…

-63能被3整除。

31901

-我彳「覽勺繪數(shù)焉0,商焉

21。3|630

21

15

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

招190穗換成以3篇底…

-一直重覆直到商禹0。31901

-最接,我件號凌垣2除以3630

3的商焉0°

3|210

-攏下往上^取系吉果:

3|71

19010=210013

3|22

0

16

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?在所有基數(shù)系統(tǒng),分?jǐn)?shù)都可以系勺略的表示。

?典整數(shù)不同,分?jǐn)?shù)加不翥然能在所有的基數(shù)

系統(tǒng)中精碓的表示出來。

?%在二迤制和十迤制就能精碓的表示,但是

在三迤制系統(tǒng)就沒辨法,只能超近。

17

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?十迤制分?jǐn)?shù)在小數(shù)黠右遏曾有非零的數(shù)字。

■其它基數(shù)的分?jǐn)?shù)在基數(shù)黑占的右遏曾有非零的

數(shù)字。

?基數(shù)黑占的右遏表示言亥基數(shù)的負(fù)次方:

12

0.4710=4x10-+7x10-

12

0.112=1x2-+1x2-

二%+%

=0.5+0.25=0.75

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?要醇換整偃(數(shù)字,我件?可以其中一槿方法

:減法和曾易乘法來完成。

?以減法來^,減法封分?jǐn)?shù)也是一檬的,只

是在分?jǐn)?shù)部份要減的是基數(shù)的翼次方。

?我年%能最大的分?jǐn)?shù)II始一,道遏〃是

我件號的基數(shù)。

19

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?右遏是一他用減法符十

迤制0.8125醇換成二迤0.8125

制的方法:-0.5000=2-1*1

-彳他上往下^取結(jié)果:0.3125

-0.2500=2-2X1

0.812510=0.110120.0625

-道遹用各槿基數(shù),不―0=2-3x0

只是二迤制。0.0625

-0.0625=2-4x1

0

20

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

使用乘法來醇換,我優(yōu)

符數(shù)目乘以基數(shù)2。?8125

-第一偃I乘稹崖生了整X2

數(shù)部份。1.6250

21

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?符0.8125斡換成二迤制.8125

-在每一步驟省略掉整數(shù)X2

部份,然彼符分?jǐn)?shù)部份1.6250

乘上基數(shù)°

.6250

X2

1.2500

.2500

X2

0.5000

22

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?符0.8125斡換成二迤制.8125

-常乘稹焉。的日寺候就完成X2

1.6250

了,或者逵到了你想要

的小數(shù)位數(shù)。.6250

X2

-彳他上到下^取系吉果:1.2500

0.812510=0.11012

.2500

-造槿方法也遹用於各槿X2

基數(shù)。只要符數(shù)字乘上0.5000

要醇換的基數(shù)即可。

.5000

X2

1.000023

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?封數(shù)位重月譽(yù)來等兌,二迤制數(shù)字系統(tǒng)是最重要的

?然而,要^一大串的二迤制數(shù)是相富困荽隹的-

不用很大的十迤位數(shù)也曾是很大的二迤制數(shù)字

-?□:110101000110112=1359510

?焉了精曾她容易^取,二迤制數(shù)通常曾用十六

迤制來表示。

24

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?十六迤制系統(tǒng)編礁0~9及A~F

-12io—>C16

_26io-1A16.

?二迤制典16迤制系統(tǒng)^容易醇換,因篇16=24

O

?因此,焉了由二迤制醇焉十六迤制,我優(yōu)必須

招二迤制數(shù)四彳固一系且分群。

四位元的群十六位元^S(hextet)

25

2.3十謹(jǐn)位到二謹(jǐn)位的醇換

?符四彳固一條且,二迤制110101000110112(二

1359510)的十六迤制篇:

0011010100011011

351B

?八迤制數(shù)可以藉著符二迤制數(shù)三偃I位元一系且求

得(8=23):

011010100011011

32433

常重月窗用六位元富字^畤,八迤制就很有用。

2.4帶符虢整數(shù)表示法

?到目前焉止我仲號只考Jt正數(shù)的傅揆。

-焉了要表示負(fù)數(shù),系統(tǒng)需要一彳固高位元來分

辨數(shù)值的正負(fù)虢。

-篇其最左遏的位元。也耦焉最大II著位元。

?剩繪的位元表示數(shù)字的值。

27

2.4帶符虢整數(shù)表示法

?有虢二迤位的表示法有三槿:

一符虢大小表示法(Signedmagnitude)

-偉甫敦表示法(One'scomplement)

-2神數(shù)表示法(Two,scomplement)

?在一他I8-bit字條且中,符虢大小表示法符數(shù)

值放在符虢位元右遏的7bits。

28

2.4帶符虢整數(shù)表示法

?例如:在8-bit符虢大小表示法中

一正3焉:00000011

:10000011

?重月您在符虢大小表示法上做算征亍^!算跟人

用手算的方式很相似。

-我便號在算日寺通常曾先忽略^算元的符

虢,在算完接再符上正負(fù)虢。

29

2.4帶符虢整數(shù)表示法

?二迤制的加法非常曾軍。只有四槿烷即:

0+0=00+1=1

1+0=11+1=10

-因扁如此的曾軍,所以數(shù)位重路很容易^行

算體亍^算。

-我年號曾在第三章介系召道些重路。

我便號來看看適些加法規(guī)劃如何用在符虢大小表示法???

30

2.4帶符虢整數(shù)表示法

?輪例:

-用符虢二元數(shù)表示法來^算75和46的和

?首先我便咒自75和46醇換焉二迤制,然^^整

位置,揩(正)符虢位元和數(shù)值分^。

01001011

0+0101110

31

2.4帶符虢整數(shù)表示法

?蒯列:

-用符虢二元數(shù)表示法來^算75和46的和

?如同十迤制^算般,我彳邙他最右遏的位元^始

加到左遏°

01001011

0+0101110

1

32

2.4帶符虢整數(shù)表示法

?蒯列:

-用符虢二元數(shù)表示法來^算75和46的和

?在第二彳固bit,我憑崖生了迤位,所以我件肺票示

到第三彳固bit。

1

01001011

0+0101110

01

33

2.4帶符虢整數(shù)表示法

?蒯列:

-^用符虢二元數(shù)表示法來1十算75和46的和

?第三和第四位元也崖生迤位。

ill

01001011

0+0101110

1001

34

2.4帶符虢整數(shù)表示法

?例:

-^用符虢二迤位表示法來^算75和46的和

?富我便號做完八彳固位元,答案就求出來了。

ill

01001011

0+0101110

01111001

道他例子有一黑占要非常小心的是,我管號必須保瞪二他

值的和不曾大於位元所能表示的靶,不然曾有冏

題彝生。35

2.4帶符虢整數(shù)表示法

?蒯列:

-用符虢二元數(shù)表示法來^算107和46的和

?我便號彝現(xiàn)第七彳固位元的迤位溢位(overflows)了

,而且被忽略掉,道使得答案建成是金昔的:107

+46=25。

01101011

0+0101110

0-0011001

2.4帶符虢整數(shù)表示法

?符虢表示法中的符虢算起來跟紙^^算方式很像。

-例如:用符虢表示法二元^算來求-46和-25的

-因焉符虢相同,我件?所要做的就是符數(shù)相加,加

完接再加上負(fù)虢。

11

10101110

1+0011001

11000111

37

2.4帶符虢整數(shù)表示法

?正^^的相加(或相減)做法相同。

-靶例:用符虢表示法二迤位算來求46和-25

的和

?最彼結(jié)果的大小和敕大的數(shù)一致

-注意第二和第六位元的“借位”

0202

ooaronaro

1+0011001

0-0010101

38

2.4帶符虢整數(shù)表示法

?封我便號來^,符虢大小表示法非常容易了解,

但是重月備硬ft曾比敕^親隹。

?符虢大小表示法的另一彳固缺黑占是它封o有二槿

表示方式:正零和負(fù)零。

?因焉道檬,^^系統(tǒng)^除是用木甫數(shù)系統(tǒng)來表示

和直°

39

2.4帶符虢整數(shù)表示法

?在不同的禱數(shù)系統(tǒng)中,^的表示也曾有所不

同。

?在血咸基知精數(shù)系系充中(diminishedradix

complementsystems),負(fù)數(shù)是求自敷的余色封

值和少於基數(shù)1的差值。

?在二迤位系統(tǒng)中,道就是件甫數(shù)。也就是符數(shù)的

。跟1反向。

40

2.4帶符虢整數(shù)表示法

?例如:在8-bit”甫數(shù)

一正3是:00000011

-ft3>:11111100

?在偉甫數(shù)中,如同符虢表示法,數(shù)的正負(fù)是

由最高bit來判別的。

?未甫數(shù)系統(tǒng)非常有用,因焉它不需要特殊的重

路來軌行減法^算。二彳固數(shù)的差值可藉由加

上減數(shù)的禱數(shù)來逵成。

41

2.4帶符虢整數(shù)表示法

?在偉甫敦加法,迤位曾“端迪”她加到和去。

—例如:使用洋甫數(shù)二元^算求出48和—19的

111

00110000

11101100

00011100

______+1

00011101

注意19的二迤制表示篇:00010011,

所以-19的1禱數(shù)表示焉:11101100。

2.4帶符虢整數(shù)表示法

?雖隹然“端退迤位”曾增加禊親隹度,但是"甫數(shù)

^作起來逮是比符虢大小方式曾罩。

?但依蕾有正零和:ft零的缺黑占。

?2未甫數(shù)解決了道彳固冏堰。

?2本甫數(shù)是二元數(shù)字系統(tǒng)的基數(shù)全甫數(shù)(radix

complement)。

43

2.4帶符虢整數(shù)表示法

?如何揩值表示焉2禱數(shù)表示:

-如果數(shù)本身是正數(shù),只要醇換成二謹(jǐn)制即可

-如果數(shù)本身是負(fù)數(shù)數(shù),就求出汴甫數(shù)再加1

?靶例:在8-bit

-傳甫數(shù)中,正3焉:00000011

—傳甫數(shù)中,:11111100

-力口1建成-3的洋甫敷:11111101

44

2.4帶符虢整數(shù)表示法

在洋甫數(shù)的算力后1算中,我件?只需揩二彳固數(shù)相加

,不用去管高位元的謹(jǐn)位。

-例如:用冬甫數(shù)算算求出48和-19的和

11

00110000

+11101101

00011101

19的二迤制焉:00010011

所以?19的1禱數(shù)焉:11101100

那?19的2禱數(shù)就焉:1110110145

2.4帶符虢整數(shù)表示法

?只要我便號是用有現(xiàn)位元來表示數(shù)字,那就曾有

言十算結(jié)果太大輾法信者存的凰陂存在。

-然而我福號不能只是II防溢位彝生,我便號要能偵

測溢位。

-在未甫數(shù)的算征亍^算中,溢位可以很容易的偵測

46

2.4帶符虢整數(shù)表示法

?翱列:

-用洋甫數(shù)二元^算求107和46的和

?我便號樊琪第七位元有非零的迤位彝生,道曾崖

生金昔福吳的結(jié)果-107+46=-103o

11ill

01101011

+00101110

■-10011001

偵測2禱數(shù)溢位的規(guī)劃:常有迤位到符虢位元的

迤位和符虢位元崖生的迤位不同畤,就是彝生

溢位了。4

2.4帶符虢整數(shù)表示法

?帶符虢及輾符虢數(shù)字都有用途。

-例:1田意ft位址都是使用罪虢數(shù)字。

?使用相同bits,輾虢整數(shù)能表示比有虢多二倍的值。

?如果瓢符虢數(shù)值篇“回到零(wrapsaround),^,

生困攥,例:4bits值1111+1=0000。一彳固好的

程式工程自市封於道槿冏題耍保持警惕。

48

2.4帶符虢整數(shù)表示法

?封找尊更好的算征亍算法已^持^超謾50年的研

究。

?布斯演算法(Booth、algorithm)是相^有趣研究

中之一。

-在多數(shù)情況下,布斯演算法比算方式

更迅速、型碓。

-以位元位移取代算力而1算。

49

2.4帶符虢整數(shù)表示法

?在布斯演算法中,揩乘0011

數(shù)第一偃I一串的1用減法x0110

取代被乘數(shù)。

+0000

?位移乘稹到最接一彳固字

串1被彝琨。-0011

-符被乘數(shù)相加。+0000

+0011

00010010

50

2.4帶符虢整數(shù)表示法

00110101

?15例:x01111110

+0000000000000000

+111111111001011

+00000000000000

+0000000000000

+000000000000

忽略超出2n的位元+00000000000

+0000000000

+000110101

(^ipooiioiooooiono

51

2.4帶符虢整數(shù)表示法

?溢位旗襟只用在帶符虢數(shù)字,在輾符虢中輾意,相反是

使用謹(jǐn)位旗檄。若輾符算中最左遏位元的迤位輸出

是指明溢位。迤位和溢位互相彳蜀立彝生。

正碓的結(jié)

結(jié)果迤位溢位果

0100+00100110NoNoYes

0100+01101010NoYesNo

1100+11101010YesNoYes

1100+10100110YesYesNo

52

2.5浮黠表示法

?前面的符虢表示法,1禱數(shù)及在甫敦表示法都

只是在慮理整數(shù)而已。

?不修改的i舌,造些格式是輾法用在科擘或商渠

鷹用上的^^霓理。

?浮黑占表示法就是篇了解道些冏題。

53

2.5浮黑占表示法

?如果我便慳寸程式尚殳言十很熟悉的i舌,那我憑可以用

任何的整數(shù)格式來迤行浮黑占^算。

?造槿方式就耦焉浮黑占數(shù)模擦,因焉浮黑占數(shù)加不是

照它的檬子被信者存,我件?只是用程式的方式51a襄

它看起來像是在用浮黑占數(shù)一般。

?今天大多數(shù)的重月圖都曾配有特殊硬ft來慮理浮黑占

數(shù)的^算,而不再需要程式微殳晶十白幣去操心了。

54

2.5浮黑占表示法

?浮黑占數(shù)允|午十迤制的小數(shù)黑占右方存在任意的數(shù)

值。

一區(qū)t]如:0.5x0.25=0.125

?它彳呼1常是以科擘^虢的方式呈現(xiàn)。

-例如:

0.125=1.25x10-1

5,000,000=5.0x106

55

2.5浮黑占表示法

?霜月第使用某特定的科擘符虢表示法來表示浮黑占數(shù)

O

?一他I以科擘看己虢表示的數(shù)可分成三偃I部份:

SignMantissaExponent

56

2.5浮黑占表示法

?重月譽(yù)中的浮黑占數(shù)表示是由三偃I固定大小的橄位所

系且成:

Sign

ExponentSignificand

?道是三偃I楠位的才票型排列方式.

57

2.5浮黑占表示法

Sign

ExponentSignificand

?符虢位元(Sign)橄位代表儲存值的正負(fù)虢。

?指數(shù)(Exponent)棚位秋:定了數(shù)值能表示的靶凰。

?有效位數(shù)(significance)棚位7夬定了數(shù)值能表示的精

度。

58

2.5浮黑占表示法

Sign

ExponentSignificand

?IEEE-754軍精度浮黑占表示法用8-bitexponent

和23-bitsignificand°

?IEEE-754倍卞青度表示法用11-bitexponent禾口52-

bitsignificand°

焉了^明方便,我福號符使用14?bit的模型來解釋,M

模型有5?bit的exponent禾口8-bit的significand。

59

2.5浮黑占表示法

Sign

ExponentSignificand

?浮黑占數(shù)的sign訐icandIS含前面有一偃|二元小敷黑占

o

?所以,significand通常是一彳固二迤制的分?jǐn)?shù)。

?exponent是以2焉底的指數(shù)部份。

60

2.5浮黑占表示法

?蒯列:

-^用14-bit的浮黑占數(shù)模型來表示321o。

?32篇25,所以科^^虢焉32=1.0x25=0.1

x26。

?所以,我偉搭110(=610)放至exponent楠位

'而1放在significand。

00011010000000

61

2.5浮黑占表示法

-右遏的四彳固例子在我

00011010000000

便號的方法下,都是32

0011101000000

?道檬不只浪費(fèi)空^,

也曾引起一些混淆的0100000100000

情況。°

00100100010000

62

2.5浮黑占表示法

Sign

ExponentSignificand

?另一彳固冏堰是,我得號的系統(tǒng)她不能有負(fù)的

exponents。我便?瓢法表示0.5(=2/)。

?注意exponent棚位她沒有符虢位元field。

我憑可以修正我福號的模型來解會I些冏題。

2.5浮黑占表示法

焉了解決不同二迤制表示相同值的冏題,我便號

福殳定一彳固規(guī)即,那就是sign幣cand的第一彳固數(shù)

字一定要焉1。道檬一來,每彳固浮黑占數(shù)就有唯

一的表示方式了。

-在IEEE-754的本票型中,道彳固1是曦含的,

就是^二元小數(shù)黑占接一定是跟著1。

-因焉使用道檬的方式,我便號可以符精度提高

2的次方。(焉什麼?)

在我^本的曾易指令模型中,我憑不使用曙含1的

方式。

64

2.5浮黑占表示法

?篇了提供負(fù)的指數(shù)值,我彳邙吏用偏移(biased)指

數(shù)°

?偏移數(shù)值是接近可數(shù)值靶圉中^的數(shù)字。我便?

符exponent楠位的值減去此偏移數(shù)值才是我便號

所要的指數(shù)值。

-在我仲號的例子中,我便號有5-bitexponent。那

biased就焉16,我便肝禽焉超-16(excess-16)表

示法。

-所以,少於16的數(shù)值表示^值。

65

2.5浮黑占表示法

?例:

-用修改謾接14Wt浮黑占數(shù)模型來表示3210。

?已知32=1.0x25=0.1x26。

?使用偏移16的曾軍模型,我彳制將16加到6,

建成221o(二10110。。

?燮成:

01011010000000

66

2.5浮黑占表示法

?例:

-用修改謾接14-bit浮黑占數(shù)模型來表示

0.062510°

?0.0625M2-4,所以二迤制表示焉0.0625=

1.0x2-4=0.1x2-3。

?使用偏移16的曾軍模型,我件用等16加上-3,

得到13i0(=011012)

0011011OOOOOOO

2.5浮黑占表示法

?蒯列:

-用修改謾接14-bit浮黑占數(shù)模型來表示26.625io

O

?26.62510=11010.1012,正規(guī)化得到:

5

26.62510=0.11010101x2°

?焉了使用偏移16的曾軍模型,我便用等16加上5

,得到21io(=101012),我件怕勺浮虢位元焉1。

11010111010101

68

2.5浮黑占表示法

?IEEE-754軍精度浮黑占數(shù)才票型的偏移篇127,指數(shù)

M8-bit。

-指數(shù)篇255表示是特殊值。

?如果有效位數(shù)是零,那值是土輾限大。

?如果有效位數(shù)不是零,那值就是NaN“非數(shù)

字”通常用來指出是崖生金昔^的情況。

?曼精度襟型的偏移焉1023,指tfcg11-bit

-曼精度的指數(shù)焉2047表示是特殊值。

-零和瓢限大的表示法封]1到軍精度模型。

69

2.5浮黑占表示法

?我便號的14-bit模型跟IEEE-754浮黑占g處票型都有

二槿表示0的方式。

-常指數(shù)和有效位數(shù)全焉。日寺就表示是零,但是正

翼虢位元能焉?;?。

?道就是篇什麼程式常殳屆十人員愿春亥避免去偵測浮黑占

敦是否等於零。

-因禹正零和^零曾崖生雨數(shù)不相等結(jié)果。

70

2.5浮黑占表示法

?浮黑占數(shù)的加減和紙肇算^似。

?首先我件號要做的是揩二數(shù)的指數(shù)部份^整成一

檬大小,然彼揩數(shù)相加,在和的保留指數(shù)部份

O

?如果指數(shù)需要^整,那我便?在i十算完接再^整

71

2.5浮黑占表示法

?蒯列:

-使用14-bit浮黑占建算模型來求1210力口1.25io。

41

?121o=O.11OOx2.1.251o=O.1O1x2=

0.000101x24。

?所以禾口焉0.110101x24o

01010011000000

+01010000010100

01010011010100

72

2.5浮黑占表示法

?浮黑占數(shù)乘法和用紙笨迤行乘法算很像。

?我年明第里算元相乘,指數(shù)部份相加。

?如果指數(shù)部份需要^整,那我便號在^算完接

再告周整。

73

2.5浮黑占表示法

?蒯列:

-使用14-bit浮黑后1算模型來求1210乘1.25io。

?1210=0.1100x21W1.2510=0.101x21。

?所以乘稹焉

5

0.0111100x2=01010011000000

0.1111x24。

X01000110100000

?符乘稹正規(guī)化,

指數(shù)2。10=1001。201010101111000

74

2.5浮黑占表示法

?不^我便號用多少bits來表示浮黑占數(shù),我便膽勺模型都

是有限的。

?而^^系統(tǒng)郤是瓢限的,所以我憑的模型也只是

提供近似^^的值。

?在某些方面,每槿模型都是有缺陷的,都曾在tf

算中彝生金昔福吳。

?藉著在我仲號模型中增更多的位元,我便號可以減

少道些^差的彝生,但是郤瓢法完全。

75

2.5浮黑占表示法

?我件號的工作就是要減少^差的彝生,或^至少能

彝現(xiàn)在^算謾程中曾有多大的^差曹崖生。

?我憑也必須知道IM差^^由重覆的算循亍^1算使之

更焉悲化。

?犀例來得兌,我彳「號的14-bit模型不能型碓的表示十

迤制的128.5。在二迤制中,它需要9bitsM:

10000000.12=128.510

76

2.5浮黑占表示法

?富我便號用14-bit模型來表示128.5io日寺,最低位元

曾不兄,彝生相封差:

128.5-128

—%

128.5

?如果我便號有一程式重覆一直符。.5加到128.5,那只

要加四次接就曾有2%的^差彝生。

77

2.5浮黑占表示法

?算元的大小接近日寺,浮黑占^算的^差就能減低

O

?如果我件號重覆符0.5加到128.5,那先言襄0.5自己重覆

相加接再加到128.5曾比較好。

?在此例中,言吳差的樊生都是來自於低位元的遺失。

?高位元遺失崖生的冏堰更殿重。

78

2.5浮黑占表示法

?浮黑占數(shù)的溢位跟短值曾言襄程式常掉。

-富沒有足多句空^來信者存算接的高位元日寺,就

曾彝生溢位。

?常值太小輾法信者存日寺就是短值,可能含有除以

零的垣象彝生…

有^^的程式^^十肺知道輿其崖生不正硅,但

又可能裝生的結(jié)果,不如^程式富掉…

2.5浮黑占表示法

?在密■病浮黑占數(shù)日寺,了解靶圉、精度和型碓性是很

重要的。

?數(shù)值整數(shù)靶凰在表示最大及最小值^的^隔。

-型碓性是指數(shù)字跟它的真正數(shù)值有多接近。

?精度表示我便號封於數(shù)值有多少資n。

80

2.5浮黑占表示法

-率交高的精度可允FF數(shù)值越型碓,但也有例外。

-例:3.13333作舄11的估^

-只型碓到2位數(shù),但精度有6位數(shù)。

?使用浮黑占數(shù)字的其他冏題

-因焉拾入^差,在浮黑占算彳而加非必然可以結(jié)

合及分配的。

81

2.5浮黑占表示法

?我憑瓢法熬定:

(a+b)+c=a+(b+c)or

a*(b+c)=ab+ac

?此外,在浮黑占上使用等虢算日寺,程式常殳^以宣

告”接近X”,然接祖唁式^^值於

if(abs(x)<epsilon)then...

82

2.6字元5g

?如果算的結(jié)果不能呈現(xiàn)在人件號的面前那就是

沒用的。

?我件號也必需提供算的^存方式,加且提供資

資料的輸入方式。

?所以,人^所了解使用的字元必需用一些字元

編礁檄制傅換成重月第能多句了解的位元檬式。

83

2.6字元Jg

-字元礁也隨著重月第一直在迤步。

?較大的重月輟看己意ft及信譽(yù)存裝制能有敕瞿富的字元

俺°

?最早期的重:月輟褊礁系統(tǒng)是使用6彳固位元來褊礁。

?二迤礁十迤數(shù)(Binarycodeddecimal,BCDIC)就

是其中的一槿。它是IBM大型重月譽(yù)在1950和

1960年代所探用的方式。

84

2.6字元Jg

?在1964,BCD^充舄8-bitB'暗EBCDIC

IS域十迤位格式(ExtendedBinary-Coded

DecimalInterchangeCode,EBCDIC)°

?EBCDIC同日寺支援大嘉和小嘉字母,此外,逮

有特殊字元,像是本票黑占符虢和控制字元。

?EBCDIC和BCD在今日仍營被IBM大型重月您所

探用。

85

2.6字元Jg

?其他的重月第摩商逗攆7-bitASCII(American

StandardCodeforInformationInterchange)

來取代6-bit礁。

?BCD禾口EBCDIC用在打孑L卡片上,而ASCII

即用在葡言傅翰上(Telex)。

?直到最近,除了舊M大型重月窗外,都是ASCII

的天下。

86

2.6字元Jg

?現(xiàn)在很多的系統(tǒng)都使用Unicode,它是一槿16-

bit的系統(tǒng),它納入了世界上所有I1家的言吾言。

-Java程式言吾言及一些作棠系統(tǒng)現(xiàn)在都內(nèi)定

Unicode焉它彳「號的字元礁。

?Unicode的礁空^分成六彳固部份。第一彳固部份

是西方的字母礁,包括英文、希^字母和俄文

87

2.6字元Jg

CharacterNumberofHexadecimal

Language

?Unicode而^空^的酉己TypesCharactersValues

Latin,Greek,0000

Alphabets

Cyrillic,etc.8192to

置如右遏所示。1FFF

Dingbats,2000

SymbolsMathematical,4096to

etc.2FFF

Chinese,

Japanese,3000

andKorean4096

CJKto

phonetic3FFF

symbolsand

punctuation.

UnifiedChinese,4000

HanJapanese,and40,960to

KoreanDFFF

E000

HanExpansion4096to

EFFF

UserF000

Defined4095to

FFFE

88

2.7測輿更正

?封任何的資料信者存或傅串俞媒介來等兌,在其使用

毒命期^要100%不贊生金鬣M是不可能的。

?磁碟中有越多的bits,以及停輸速度越快,就越有

可能贊生金昔。

?因此,金昔^的偵測典修正封資料傅翰和信者存的正碓

性來^,就非常的重要。

89

2.7測典更正

■檢查字元曾出現(xiàn)在一常串?dāng)?shù)字的接面用來II防串俞入

資料金昔^的彝生。

-UPC脩礁的最接一彳固字元,以及ISBN的最彼

一礁都是檢查字元。

?越房的資料流更需要^^和精密的金昔I幽1測檄制。

?循璟多繪檢查(Cyclicredundancychecking,CRC)

礁是一槿大IM現(xiàn)資料用的金昔^偵測礁。

90

2.7測典更正

?Checksums和CRCs都是封耦式金昔^^測礁。

?在封耦式金昔偵測礁中,傅本俞資料的接面曾加上

一條且金昔^控制位元。

-道系且金昔控制位元耦篇癥候群(syndrome)。

?CRCs是在模2算征亍ft上的多項式。

模2多項式背彼的數(shù)擘理^不在我優(yōu)號的制內(nèi)。不遇

我憑可以拿來^用而不用了解它的理^基磁。

2.7測典更正

-模2算征亍很像畤^的算循亍。

?在日寺算力用1,如果11:0。再力口2小日寺,就曾燮

成1:00黑占。

?在模2算征亍中,如果我什膈1加上1,曾得到0

。逼I理^尋手源可*1=

1

1+0=11+1=

0

在你擘玩第三章的數(shù)位重路彼就知道,焉什麼模2曾造

麼容易使用。

92

2.7測典更正

?用模2算征亍找出1111101除

以1101的商和繪數(shù):11cHhi]]]。]

-就像傅統(tǒng)的除法一檬,1101

我優(yōu)先迤行一次。W?

-我修股等除數(shù)放在被除數(shù)

下方迤行模2的減法。

93

2.7測典更正

?用模2算征亍找出1111101除

以1101的商和繪數(shù):noihiiiioi

-我便照哥被除數(shù)的下一彳固1101

位元往下Ji000101

-可以看出來00101輾法

除以1101,所以我便號在

商的部份放一偃|0。

94

2.7測典更正

?用模2算征亍找出1111101除

101

以1101的商和食余數(shù):1101)1111101

-用模2i十算1010可被1101

1101除。001010

-迤行模2的減法。1101

0111

95

2.7測典更正

?用模2算征亍找出1111101除

1011

以1101的商和繪數(shù):

溫馨提示

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

評論

0/150

提交評論