新世代計算機概論

89
新新新新新新新新 新新新新新新新新 2 2 新 新新新新新新新新新新 新 新新新新新新新新新新

Upload: rafael-day

Post on 01-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

新世代計算機概論. 第 2 章 數字系統與資料表示法. 2-1 電腦的基本單位. 0 與 1 是電腦的基本單位。 我們將 0 或 1 稱為一個位元 (bit) ,而這種只有「關」或「開」兩種狀態的系統稱為二進位系統 (binary system) 。. 電腦的資料傳輸速率是以 bps 為單位,意指每秒鐘能夠傳輸多少位元。 我們通常採用 Kbps 、 Mbps 、 Gbps 等單位,意指每秒鐘傳輸 1,024 (2 10 ) 、 1,048,576 (2 20 ) 、 1,073,741,824 (2 30 ) 位元。. 2-2  數字系統. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 新世代計算機概論

新世代計算機概論新世代計算機概論第第 22 章 數字系統與資料表示法章 數字系統與資料表示法

Page 2: 新世代計算機概論

2-1 2-1 電腦的基本單位 電腦的基本單位 00 與與 11 是電腦的基本單位。是電腦的基本單位。 我們將我們將 00 或或 11 稱為一個位元 稱為一個位元 (bit)(bit) ,而這種,而這種只有「關」或「開」兩種狀態的系統稱為只有「關」或「開」兩種狀態的系統稱為二進位系統 二進位系統 (binary system) (binary system) 。。

Page 3: 新世代計算機概論

單位單位 位元數目位元數目 簡寫簡寫位元位元 (bit)(bit) 11 位元位元 bb

位元組 位元組 (byte)(byte) 88 位元位元 BB

字組 字組 (word)(word) 1616 位元位元 WW

雙字組 雙字組 (double word(double word ) )

3232 位元位元 DWDW

四字組 四字組 (quad word)(quad word) 6464 位元位元 QWQW

Page 4: 新世代計算機概論

單位單位 簡寫簡寫 準確值 準確值 近似值近似值千位元組 千位元組 (kilob(kilobyte)yte)

KBKB 221010Bytes Bytes 101033BytesBytes

百萬位元組 百萬位元組 (m(megabyte)egabyte)

MBMB 222020Bytes Bytes 101066BytesBytes

十億位元組 十億位元組 (gi(gigabyte)gabyte)

GBGB 223030Bytes Bytes 101099BytesBytes

兆位元組 兆位元組 (tera(terabyte)byte)

TBTB 224040Bytes Bytes 10101212BytesBytes

千兆位元組 千兆位元組 (pe(petabyte)tabyte)

PBPB 225050Bytes Bytes 10101515BytesBytes

百京位元組 百京位元組 (ex(exabyte)abyte)

EBEB 226060Bytes Bytes 10101818BytesBytes

Page 5: 新世代計算機概論

電腦的資料傳輸速率是以電腦的資料傳輸速率是以 bpsbps 為單位,為單位,意指每秒鐘能夠傳輸多少位元。 意指每秒鐘能夠傳輸多少位元。

我們通常採用我們通常採用 Kbps Kbps 、、 Mbps Mbps 、、 Gbps Gbps 等單位,意指每秒鐘傳輸等單位,意指每秒鐘傳輸 1,024 (21,024 (21010)) 、、 1,1,048,576 (2048,576 (22020)) 、、 1,073,741,824 (21,073,741,824 (23030) ) 位位元。 元。

Page 6: 新世代計算機概論

2-22-2  數字系統 數字系統 電腦使用的二進位系統人類不易閱讀使用電腦使用的二進位系統人類不易閱讀使用 任何一個屬於任何一個屬於 KK 進位系統的正數進位系統的正數 N(N( 整數或實整數或實數數 )) 都可以表示成如下多項式:都可以表示成如下多項式: 1616 進位最普遍 進位最普遍

NN 通常寫成通常寫成 NNKK = (d = (dp-1p-1ddp-2p-2…d…d11dd00.d.d-1-1dd-2-2…d…d-q-q))KK

如如 12345.67812345.6781010 ,最左邊數字,最左邊數字 ddp-1p-1 稱最大有效數字稱最大有效數字(MSD)(MSD) ,最右邊數字,最右邊數字 dd-q-q 稱最小有效數字稱最小有效數字 (LSD) (LSD)

Page 7: 新世代計算機概論

舉例來說,舉例來說, 12345.67812345.6781010 是一個十進位數字,我們是一個十進位數字,我們可以將它表示成如下多項式:可以將它表示成如下多項式:12345.67812345.6781010 = 1 x 10 = 1 x 1044 + 2 x 10 + 2 x 1033 + 3 x 10 + 3 x 1022 + +

4 x 104 x 1011 + 5 x 10 + 5 x 1000 + 6 x 10 + 6 x 10-1-1 + +

7 x 107 x 10-2-2 + 8 x 10 + 8 x 10-3-3

1101010.111101010.1122 是一個二進位數字,我們可以將它表是一個二進位數字,我們可以將它表示成如下多項式:示成如下多項式:1101010.111101010.1122 = 1 x 2 = 1 x 266 + 1 x 2 + 1 x 255 + 0 x 2 + 0 x 244 + +

1 x 21 x 233 + 0 x 2 + 0 x 222 + 1 x 2 + 1 x 211 + +

0 x 20 x 200 + 1 x 2 + 1 x 2-1-1 + 1 x 2 + 1 x 2-2-2

Page 8: 新世代計算機概論

1234.5671234.56788 是一個八進位數字,我們可以將它表示是一個八進位數字,我們可以將它表示成如下多項式:成如下多項式:1234.5671234.56788 = 1 x 8 = 1 x 833 + 2 x 8 + 2 x 822 + 3 x 8 + 3 x 811 + 4 x 8 + 4 x 800

+ 5 x 8+ 5 x 8-1-1 + 6 x 8 + 6 x 8-2-2 + 7 x 8 + 7 x 8-3-3

56789A.BC56789A.BC1616 是一個十六進位數字,我們可以將它是一個十六進位數字,我們可以將它表示成如下多項式:表示成如下多項式:56789A.BC56789A.BC1616 = 5 x 16 = 5 x 1655 + 6 x 16 + 6 x 1644 + 7 x 16 + 7 x 1633 + +

8 x 168 x 1622 + 9 x 16 + 9 x 1611 + 10 x 16 + 10 x 1600 + +

11 x 1611 x 16-1-1 + 12 x 16 + 12 x 16-2-2

Page 9: 新世代計算機概論

2-2-12-2-1  二進位系統  二進位系統 二進位系統 二進位系統 (binary system) (binary system) 是以是以 00 、、 11等兩個數字做為計數的基底。等兩個數字做為計數的基底。

為了簡化起見,我們通常將二進位數字為了簡化起見,我們通常將二進位數字 10010000 和十進位數字和十進位數字 88 寫成寫成 1000100022 和和 881010 ( ( 或寫成或寫成1000100022 = 8 = 81010)) 。 。

Page 10: 新世代計算機概論

2-2-22-2-2  八進位系統  八進位系統 八進位系統 八進位系統 (octal system) (octal system) 是以是以 00 、、 11 、、 2 ~ 72 ~ 7等八個數字做為計數的基底。等八個數字做為計數的基底。

由於由於 7788 已經是八進位系統裡面一位數的最後一個已經是八進位系統裡面一位數的最後一個數字,所以下一個數字 數字,所以下一個數字 (8(81010) ) 必須進位變成必須進位變成 101088 ,,然後我們可以再往下數然後我們可以再往下數 111188 (9 (91010)) 、、 121288 (10 (101010)) 、、 ......171788 (15 (151010)) 、、 202088 (16 (161010)) 、、

212188 (17 (171010)) 、、 ...27...2788 (23 (231010)) 、、 303088 (24 (241010)) 、、 313188 (25 (251010)) 、、 ...37...3788 (31 (311010)) 、、 404088 (32 (321010)) 、、 ......

777788 (63 (631010)) ,因為,因為 777788 是八進位系統裡面二位數的是八進位系統裡面二位數的最後一個數字,所以下一個數字 最後一個數字,所以下一個數字 (64(641010) ) 必須進必須進位變成位變成 10010088 ,其它請依此類推。 ,其它請依此類推。

Page 11: 新世代計算機概論

2-2-32-2-3  十六進位系統  十六進位系統 十六進位系統 十六進位系統 (hexadecimal system) (hexadecimal system) 是以是以 00 、、 1~91~9 、、 AA 、、 BB 、、 CC 、、 DD 、、 EE 、、 FF 等十六個數字做為計數的基底。等十六個數字做為計數的基底。 由於由於 FF1616 (15 (151010) ) 已經是十六進位系統裡面一位數的最後已經是十六進位系統裡面一位數的最後

一個數字,所以下一個數字 一個數字,所以下一個數字 (16(161010) ) 必須進位變成必須進位變成 10101616 ,,然後我們可以再往下數然後我們可以再往下數 11111616 (17 (171010)) 、、 12121616 (18 (181010))

、、 ...19...191616 (25 (251010)) 、、 1A1A1616 (26 (261010)) 、、 1B1B1616 (27 (271010)) 、、 ...1F...1F1616

(31(311010)) 、、 20201616 (32 (321010)) 、、 21211616 (33 (331010)) 、、 ...2F...2F1616 (47 (471010)) 、、 30301616

(48(481010)) 、、 31311616 (49 (491010)) 、、 ...3F...3F1166 (63 (631010)) 、、 ...FF...FF1616 (255 (2551010)) ,,因為因為 FFFF1616 是十六進位系統裡面二位數的最後一個數字,是十六進位系統裡面二位數的最後一個數字,所以下一個數字 所以下一個數字 (256(2561010) ) 必須進位變成必須進位變成 1001001616 ,其它請,其它請依此類推。 依此類推。

Page 12: 新世代計算機概論

十進位十進位 二進位二進位 八進位八進位 十六進位十六進位 十進位十進位 二進位二進位 八進位八進位 十六進位十六進位

00 00000000 00 00 1616 1000010000 2020 1010

11 00010001 11 11 1717 1000110001 2121 1111

22 00100010 22 22 1818 1001010010 2222 1212

33 00110011 33 33 1919 1001110011 2323 1313

44 01000100 44 44 2020 1010010100 2424 1414

55 01010101 55 55 2121 1010110101 2525 1515

66 01100110 66 66 2222 1011010110 2626 1616

77 01110111 77 77 2323 1011110111 2727 1717

88 10001000 1010 88 2424 1100011000 3030 1818

99 10011001 1111 99 2525 1100111001 3131 1919

1010 10101010 1212 AA 2626 1101011010 3232 1A1A

1111 10111011 1313 BB 2727 1101111011 3333 1B1B

1212 11001100 1414 CC 2828 1110011100 3434 1C1C

1313 11011101 1515 DD 2929 1110111101 3535 1D1D

1414 11101110 1616 EE 3030 1111011110 3636 1E1E

1515 11111111 1717 FF 3131 1111111111 3737 1F1F

表表 2.32.3 二、八、十、十六進位對照表二、八、十、十六進位對照表

Page 13: 新世代計算機概論

2-2-42-2-4  將二、八、十六進位數字轉換成 將二、八、十六進位數字轉換成十進位數字十進位數字

5621.785621.781010= (5 x 1000) + (6 x 100) + (2 x 10) + = (5 x 1000) + (6 x 100) + (2 x 10) +

(1 x 1) + (7 x 0.1) + (8 x 0.01)(1 x 1) + (7 x 0.1) + (8 x 0.01)

= (5 x 10 = (5 x 1033) + (6 x 10) + (6 x 1022) + (2 x 10) + (2 x 1011) + ) +

(1 x 10(1 x 1000) + (7 x 10) + (7 x 10-1-1) + (8 x 10) + (8 x 10-2-2))

Page 14: 新世代計算機概論

51763.251763.28 8 = (5 x 8= (5 x 844) + (1 x 8) + (1 x 833) + (7 x 8) + (7 x 822) + ) +

(6 x 8(6 x 811) + (3 x 8) + (3 x 800) + (2 x 8) + (2 x 8-1-1))

= (5 x 4096) + (1 x 512) + (7 x 64) + = (5 x 4096) + (1 x 512) + (7 x 64) +

(6 x 8) + (3 x 1) + (2 x 0.125)(6 x 8) + (3 x 1) + (2 x 0.125)

= 20480 = 204801010 + 512 + 5121010 + 448 + 4481010 + 48 + 481010 + +

331010 + 0.25 + 0.251010

= 21491.25 = 21491.251010

Page 15: 新世代計算機概論

F2A9.CF2A9.C16 16 = (F x 16= (F x 1633) + (2 x 16) + (2 x 1622) + (A x 16) + (A x 1611) + ) +

(9 x 16(9 x 1600) + (C x 16) + (C x 16-1-1))

= (15 x 4096) + (2 x 256) + (10 x 16) += (15 x 4096) + (2 x 256) + (10 x 16) +

(9 x 1) + (12 x 0.0625)(9 x 1) + (12 x 0.0625)

= 61440= 614401010 + 512 + 5121010 + 160 + 16010 10 + 9+ 91010 + 0.75 + 0.751010

= 62121.75= 62121.751010

Page 16: 新世代計算機概論

10110.001110110.00112 2 = (1 x 2= (1 x 244) + (0 x 2) + (0 x 233) + (1 x 2) + (1 x 222) +) +

(1 x 2(1 x 211) + (0 x 2) + (0 x 200) + (0 x 2) + (0 x 2-1-1) +) +

(0 x 2(0 x 2-2-2) + (1 + 2) + (1 + 2-3-3) +(1 + 2) +(1 + 2-4-4))

= (1 x 16) + (0 x 8) + (1 x 4) + = (1 x 16) + (0 x 8) + (1 x 4) +

(1 x 2) + (0 x 1) + (0 x 0.5) +(1 x 2) + (0 x 1) + (0 x 0.5) +

(0 x 0.25) + (1 x 0.125) +(0 x 0.25) + (1 x 0.125) +

(1x 0.0625)(1x 0.0625)

= 16= 161010 + 4 + 41010 + 2 + 21010 + 0.125 + 0.1251010 + 0.0625 + 0.06251010

= 22.1875 = 22.18751010

Page 17: 新世代計算機概論

將十進位數字將十進位數字 59.7559.751010 轉換成二進位數字:轉換成二進位數字:

(1) 59.75(1) 59.751010 = 59 = 591010 + 0.75 + 0.751010

(2) (2) 找出整數部分的二進位表示法找出整數部分的二進位表示法 2 59 2 59 1 (591 (59 除以除以 22 的餘數的餘數 ))

2 29 2 29 1 (291 (29 除以除以 22 的餘數的餘數 ))

2 14 2 14 0 (140 (14 除以除以 22 的餘數的餘數 ))

2 7 2 7 1 (71 (7 除以除以 22 的餘數的餘數 ))

2 3 2 3 1 (31 (3 除以除以 22 的餘數的餘數 ))

1 1 1 (1 ( 最大有效字元最大有效字元 ))

商數小於除數時停止,依反方向寫下餘數得到商數小於除數時停止,依反方向寫下餘數得到 59591010 = 111011 = 11101122

 

2-2-52-2-5  將十進位數字轉換成二、八、十 將十進位數字轉換成二、八、十六進位數字六進位數字

Page 18: 新世代計算機概論

(( 33 )找出小數部分的二進位表示法)找出小數部分的二進位表示法

0.75 0.75 取得小數部分乘以取得小數部分乘以 22 x 2x 2

小數點右邊第一位小數點右邊第一位 1.501.50 0.50 0.50 取得小數部分乘以取得小數部分乘以 22 x 2x 2

小數點右邊第二位小數點右邊第二位 1.00 1.00 小數部分等於小數部分等於 00 時停止時停止

依序寫下乘以依序寫下乘以 22 之積數的整數部分得到之積數的整數部分得到 0.750.751010 = 0.11 = 0.1122

(( 44 )將整數部分及小數部分的二進位表示法合併得到)將整數部分及小數部分的二進位表示法合併得到 59.7559.7510 10 ==

111011.11111011.1122

Page 19: 新世代計算機概論

將十進位數字 5176.312510 轉換成八進位數字:( 1) 5176.312510 = 517610 + 0.312510

( 2)找出整數部分的八進位表示法

8 5176 0 (5176 除以 8的餘數 ) 8 647 7 (647 除以 8的餘數 ) 8 80 0 (80 除以 8的餘數 ) 8 10 2 (10 除以 8的餘數 ) 1 1 ( 最大有效數字 )

商數小於除數時停止,依反方向寫下餘數得到 517610 = 120708

Page 20: 新世代計算機概論

(3(3 )找出小數部分的八進位表示法)找出小數部分的八進位表示法   0.3125 取得小數部分乘以 8 x 8 小數點右邊第一位 2.5000 0.5000 取得小數部分乘以 8 x 8 小數點右邊第二位 4.0000

依序寫下乘以 8之積數的整數部分得到 0.312510 = 0.248

(4) 將整數部分及小數部分的八進位表示法合併,得到 5176.312510 = 12070.248 。

Page 21: 新世代計算機概論

將十進位數字將十進位數字 4877.64877.61010 轉換成十六進位數字 :轉換成十六進位數字 :(( 11 )) 4877.64877.61010 = 4877 = 48771010 + 0.6 + 0.61010

(( 22 )找出整數部分的十六進位表示法)找出整數部分的十六進位表示法

16 4877 16 4877 13 (487713 (4877 除以除以 1616 的餘數的餘數 ))

16 304 16 304 0 (3040 (304 除以除以 1616 的餘數的餘數 ))

16 19 16 19 3 (193 (19 除以除以 1616 的餘數的餘數 ))

1 1 1 (1 ( 最大有效數字最大有效數字 ))

商數小於除數時停止,依反方向寫下餘數得到商數小於除數時停止,依反方向寫下餘數得到 487748771010

= 130D= 130D1616

Page 22: 新世代計算機概論

(( 33 )找出小數部分的十六進位表示法)找出小數部分的十六進位表示法 0.6 0.6 取得小數部分乘以取得小數部分乘以 1616

x 16x 16

小數點右邊第一位 小數點右邊第一位 9.69.6

0.6 0.6 出現循環時停止 出現循環時停止 (( 從小從小 數點右邊數點右邊第一位開始第一位開始 ))

依序寫下乘以依序寫下乘以 1616 之積數的整數部分,得到之積數的整數部分,得到 0.60.61010 = 0.9 = 0.91616

(( 44 )將整數部分及小數部分的十六進位表示法合併,得到)將整數部分及小數部分的十六進位表示法合併,得到 4877.64877.61010 = 130D.9 = 130D.91616

Page 23: 新世代計算機概論

5 7 6 2. 1 38 = 101 111 110 010. 001 0112

E 8 C 4. B16 = 1110 1000 1100 0100. 10112

2-2-62-2-6  將八或十六進位數字轉換成二進 將八或十六進位數字轉換成二進位數字位數字

Page 24: 新世代計算機概論

011 010 111.101 1002 = 3 2 7. 5 48

整數部分每三個數字一組,不足三個的  就在左邊補上 0  小數部分每三個數字一組,不足三個的  就在右邊補上 0

2-2-72-2-7  將二進位數字轉換成八或十六進 將二進位數字轉換成八或十六進位數字位數字

Page 25: 新世代計算機概論

0010 1101 0111 1010. 1111 00100010 1101 0111 1010. 1111 001022 = 2 D 7 A. F 2 = 2 D 7 A. F 21616

整數部分每四個數字一組,不足四個的就整數部分每四個數字一組,不足四個的就 在左邊補上在左邊補上 00

小數部分每四個數字一組,不足四個的就小數部分每四個數字一組,不足四個的就 在右邊補上在右邊補上 00

Page 26: 新世代計算機概論

2-32-3  數值表示法  數值表示法

2-3-12-3-1  帶符號大小  帶符號大小 假設使用假設使用 nn 位元來表示正負整數,那麼最位元來表示正負整數,那麼最左邊的位元 左邊的位元 (MSD) (MSD) 是整數的正負符號,是整數的正負符號, 00表示正數,表示正數, 11 表示負數,剩下的表示負數,剩下的 n - 1n - 1 位元位元才是整數的數值大小,正整數的範圍為才是整數的數值大小,正整數的範圍為 0 ~ 0 ~ 22n-1n-1-1-1 ,負整數的範圍為 ,負整數的範圍為 -(2-(2n-1n-1-1) ~ 0-1) ~ 0 。 。

如以如以 88 位元來表示位元來表示 +127+127 為為 0111111101111111

22 、、 -127-127 表示為表示為 111111111111111122 ,但電腦不採,但電腦不採用此種表示。用此種表示。

Page 27: 新世代計算機概論

2-3-22-3-2    1’s1’s 補數 補數 假設使用假設使用 nn 位元來表示正負整數,那麼最左邊的位元來表示正負整數,那麼最左邊的位元 位元 (MSD) (MSD) 是整數的正負符號,是整數的正負符號, 00 表示正數,表示正數,11 表示負數,剩下的表示負數,剩下的 n - 1n - 1 位元才是整數的數值位元才是整數的數值大小,正整數的範圍為大小,正整數的範圍為 0 ~ 20 ~ 2n-1n-1-1-1 ,負整數的範,負整數的範圍為 圍為 -(2-(2n-1n-1-1) ~ 0-1) ~ 0 。。

1’s1’s補數的正數表示法和帶符號大小一樣,但負補數的正數表示法和帶符號大小一樣,但負數表示法就不一樣了數表示法就不一樣了,它是將某個正整數的表示,它是將某個正整數的表示法中所有法中所有 00 改為改為 11 ,所有,所有 11 改為改為 00 ,之後得到的,之後得到的二進位字串才是這個正整數對應的負整數。二進位字串才是這個正整數對應的負整數。

如以如以 88 位元來表示位元來表示 +127+127 為為 011111110111111122 、、 -127-127 表表示為 示為 100000001000000022 。。但電腦亦不採用此種表示。 但電腦亦不採用此種表示。

Page 28: 新世代計算機概論

補數 補數 補數的意義,簡單而言就是有一數字補數的意義,簡單而言就是有一數字 (A)(A) 和某數和某數 (B)(B) 加加

起來等於該數之進制最高大值起來等於該數之進制最高大值 (C)(C) 者者 ,, 某數某數 (B)(B) 即為該即為該數字數字 (A)(A) 的補數。補數通常有兩種:的補數。補數通常有兩種:

一種為該數之進制最高大值一種為該數之進制最高大值 (C)(C) ;; 另一種為該數之進制最高大值+1另一種為該數之進制最高大值+1 (C+1)(C+1) 為了簡化數位邏輯電路的結構設計,希望加、減、乘、為了簡化數位邏輯電路的結構設計,希望加、減、乘、

除四則運算都可以只用一種運算除四則運算都可以只用一種運算 (( 加法加法 )) 來完成 來完成 ; ; 例例如減法運算可利用補數的方法來完成,乘法運算則是累如減法運算可利用補數的方法來完成,乘法運算則是累加和位移的方法,而除法運算則採用累減及位移的方法加和位移的方法,而除法運算則採用累減及位移的方法即可完成。即可完成。

補數簡單來說,如果將某正數取其補數,就相當於等值補數簡單來說,如果將某正數取其補數,就相當於等值的負數 的負數 ; ; 如此可以輕易的將減法運算,經由取補數的如此可以輕易的將減法運算,經由取補數的動作,變成單純加法的運算。 動作,變成單純加法的運算。

Page 29: 新世代計算機概論

2-3-32-3-3    2’s2’s 補數補數 (( 電腦採用的數值表示法電腦採用的數值表示法 ) ) 假設使用假設使用 nn 位元來表示正負整數,那麼最左邊的位位元來表示正負整數,那麼最左邊的位元 元 (MSD) (MSD) 是整數的正負符號,是整數的正負符號, 00 表示正數,表示正數, 11 表表示負數,剩下的示負數,剩下的 n - 1n - 1 位元才是整數的數值大小,正位元才是整數的數值大小,正整數的範圍為整數的範圍為 0 ~ 20 ~ 2n-1n-1-1-1 ,負整數的範圍為 ,負整數的範圍為 -2-2n-1n-1 ~ 0 ~ 0 。。

2’s2’s 補數的正數表示法和帶符號大小、補數的正數表示法和帶符號大小、 1’s1’s 補數一樣,補數一樣,但負數表示法就不一樣了,它是將某個正整數的表但負數表示法就不一樣了,它是將某個正整數的表示法中所有示法中所有 00 改為改為 11 ,所有,所有 11 改為改為 00 ,之後得到的,之後得到的二進位字串再加上二進位字串再加上 11 ,才是這個正整數對應的負整,才是這個正整數對應的負整數。如以數。如以 88 位元來表示正負整數,則最大數為位元來表示正負整數,則最大數為 01110111111111112 2 (+127)(+127) 、最小數為、最小數為 100000011000000122

(-128)(-128) 。 。

Page 30: 新世代計算機概論

十進十進位位

帶符號帶符號大小大小

1’s1’s補數補數

2’s2’s補數補數

十進十進位位

帶符號帶符號大小大小

1’s1’s補數補數

2’s2’s補數補數

+8+8 無無 無無 無無 -8-8 無無 無無 10001000

+7+7 01110111 01110111 01110111 -7-7 11111111 10001000 10011001

+6+6 01100110 01100110 01100110 -6-6 11101110 10011001 10101010

+5+5 01010101 01010101 01010101 -5-5 11011101 10101010 10111011

+4+4 01000100 01000100 01000100 -4-4 11001100 10111011 11001100

+3+3 00110011 00110011 00110011 -3-3 10111011 11001100 11011101

+2+2 00100010 00100010 00100010 -2-2 10101010 11011101 11101110

+1+1 00010001 00010001 00010001 -1-1 10011001 11101110 11111111

+0+0 00000000 00000000 00000000 -0-0 10001000 11111111 00000000

表表 2.42.4不同數值表示法對照表不同數值表示法對照表

Page 31: 新世代計算機概論

補數的推廣 補數的推廣 rr 補數:若有一數字補數:若有一數字 NN 不等於不等於 00且基底且基底 (base)(base) 是是 rr ,,

位數為位數為 nn ,則它的,則它的 rr 補數補數 (complement)(complement) 為為 rrn n - N - N 。 。 若若 N=0N=0 ,則,則 NN 的的 rr 補數為補數為 00 。如。如 (012398)(012398)1010 的的 10‘s complement =1010‘s complement =1066-012398 =987602-012398 =987602

(1101100)(1101100)22 的的 2‘s complement =22‘s complement =277-1101100 =0010100-1101100 =0010100

(r-1)(r-1) 補數:若有一數字補數:若有一數字 NN 不等於不等於 00且基底且基底 (base)(base) 是是 rr ,,位數為位數為 nn ,則,則 r-1r-1 補數補數 (complement)(complement) 為為 (r(rn n -1) - N-1) - N 。 。

若若 N=0N=0 ,則,則 NN 的的 r-1r-1 補數也為補數也為 00 。如。如 (012398)(012398)1010 的的 9‘s complement=(109‘s complement=(1066-1)-012398=98760-1)-012398=98760

11

(1101100)(1101100)22 的的 9‘s complement=(29‘s complement=(277-1)-1101100 -1)-1101100

=0010011=0010011

Page 32: 新世代計算機概論

考題考題 以以 22 的補數來表示整數,則兩個的補數來表示整數,則兩個 88 位元整位元整數相減數相減 01010101-1101100101010101-11011001 結果為結果為 : (A)10: (A)10000011 (B)01111100 (C)11111100 (D)100000011 (B)01111100 (C)11111100 (D)10000100 (8900100 (89 二技管理類二技管理類 ))

下列何者可以表示八位元電腦中的下列何者可以表示八位元電腦中的 -10(-10( 以以22 的補數法表示的補數法表示 )? )?

(A)10001010 (B)00001010 (C)11110101 (A)10001010 (B)00001010 (C)11110101 (D)11110110 (93(D)11110110 (93 中央資管所中央資管所 ))

Page 33: 新世代計算機概論

使用使用 22 的補數來完成減法運算,的補數來完成減法運算, 則則 A-B = A+(-B) = A+(BA-B = A+(-B) = A+(B 的的 22 的補數的補數 )) 01010101-11011001 = 01010101 +0010011101010101-11011001 = 01010101 +00100111 = 01111100 = 01111100 答案答案 (B)(B)

-10 = 00001010 -10 = 00001010 使用使用 22 的補數結果為的補數結果為 11 的補數加的補數加 11,, 00001010 00001010 1111010111110101 + 1 11110110+ 1 11110110 答案答案 (D)(D)

Page 34: 新世代計算機概論

2-42-4  數值算術運算  數值算術運算 2-4-12-4-1  加法  加法 範例:範例: 11101011101022 + 11011 + 1101122

(( 11 ) ) 0011101000111010 ++ 0001101100011011

(( 22 ) ) 11 0011101000111010 ++ 0001101100011011 01 01

Page 35: 新世代計算機概論

(( 33 ) ) 11 0011101000111010 + + 0001101100011011 01010101

(( 44 ) ) 11 0011101000111010 + + 0001101100011011 10101 10101

Page 36: 新世代計算機概論

(( 55 ) ) 11 0011101000111010 + + 0001101100011011 010101 010101

(( 66 ) ) 0011101000111010 + + 0001101100011011 0101010101010101

Page 37: 新世代計算機概論

2-4-22-4-2  減法 減法

(( 11 ) ) 0000101000001010 - - 0000001100000011

(( 22 ) ) -1-1 00001010 00001010 - 00000011 - 00000011 1 1

Page 38: 新世代計算機概論

(( 33 ) ) -1-1 00001010 00001010 - 00000011 - 00000011 11 11

(( 44 ) ) -1-1 00001010 00001010 - 00000011 - 00000011 111 111

Page 39: 新世代計算機概論

(( 55 ) ) 0000101000001010 - - 0000001100000011 0000011100000111

Page 40: 新世代計算機概論

2-4-32-4-3  乘法 乘法 範例:範例: 1101110122 x 1011 x 101122

11011101 x x 10111011 11011101 1101 1101 0000 0000 1101 1101 10001111 10001111

Page 41: 新世代計算機概論

2-4-42-4-4  除法  除法 範例:範例: 111010011110100122 ÷ 1001 ÷ 100122

Page 42: 新世代計算機概論

考題考題 1 (1.75)1 (1.75)88 +(2.63) +(2.63)88 以以 1010 進位表示為進位表示為 : :

(A)4.60 (B)4.38 (C)4.75 (D)4.625(A)4.60 (B)4.38 (C)4.75 (D)4.625

(88(88 二技管理類二技管理類 ) )

考題考題 2 (30)2 (30)44 * (20) * (20)44 以以 44 進位表示為進位表示為 ::

(A)(1200)(A)(1200)4 4 (B)(600) (B)(600)4 4 (C)(700) (C)(700)4 4 (D)(1300) (D)(1300)44

(89 (89 二技管理類二技管理類 ))

Page 43: 新世代計算機概論

考題考題 11答案 答案 C C

考題考題 22答案 答案 A A 2-52-5  數碼系 數碼系統統 84218421碼碼 具加權數碼 二五碼具加權數碼 二五碼 (binquary(binquary碼碼 )) 數 數 (Weighted) (Weighted) 環形計數碼環形計數碼 (ring counter(ring counter碼碼 )) 碼 五取二碼碼 五取二碼 (2-out-of-(2-out-of-

55碼碼 )) 系 超三碼系 超三碼 (XS-3(XS-3碼碼 )) 統 葛雷碼統 葛雷碼 (Gray code)(Gray code) 無加權數碼 無加權數碼 BCDBCD碼碼 (Unweighted) ASCII(Unweighted) ASCII碼碼 EBCDICEBCDIC碼碼 其他其他

Page 44: 新世代計算機概論

2-52-5  數碼系統 數碼系統2-5-12-5-1    BCD(Binary Coded Decimal)BCD(Binary Coded Decimal) 碼,碼,又稱又稱 84218421 碼碼

十進位數字 BCD碼 十進位數字 BCD碼

0 0000 5 0101

1 0001 6 0110

2 0010 7 0111

3 0011 8 1000

4 0100 9 1001

數字 0 ~ 9的 BCD碼

Page 45: 新世代計算機概論

十進位數字 2421碼 十進位數字 2421碼

0 0000 (0 + 0 + 0 + 0) 5 1011 (2 + 0 + 2 + 1)

1 0001 (0 + 0 + 0 + 1) 6 1100 (2 + 4 + 0 + 0)

2 0010 (0 + 0 + 2 + 0) 7 1101 (2 + 4 + 0 + 1)

3 0011 (0 + 0 + 2 + 1) 8 1110 (2 + 4 + 2 + 0)

4 0100 (0 + 4 + 0 + 0) 9 1111 (2 + 4 + 2 + 1)

數字 0 ~ 9的 2421碼

Page 46: 新世代計算機概論

2-5-32-5-3    84-2-184-2-1碼碼 (( 互補特性互補特性 45,36…)45,36…)

十進位數字 84-2-1碼 十進位數字 84-2-1碼 0 0000 (0 + 0 - 0 - 0) 5 1011 (8 + 0 - 2 - 1)

1 0111 (0 + 4 - 2 - 1) 6 1010 (8 + 0 -2 - 0)

2 0110 (0 + 4 - 2 - 0) 7 1001 (8 + 0 - 0 - 1)

3 0101 (0 + 4 - 0 - 1) 8 1000 (8 + 0 - 0 - 0)

4 0100 (0 + 4 - 0 - 0) 9 1111 (8 + 4 - 2 - 1)

數字 0 ~ 9的 84-2-1碼

Page 47: 新世代計算機概論

2-5-42-5-4  超三碼 超三碼

十進位數字 超三碼 十進位數字 超三碼

0 0011 5 1000

1 0100 6 1001

2 0101 7 1010

3 0110 8 1011

4 0111 9 1100

數字 0 ~ 9的超三碼

Page 48: 新世代計算機概論

2-5-52-5-5  二五碼 二五碼 (( 又稱又稱 50432105043210 碼碼 )) ;前兩個;前兩個位元及後五個位元中一定要各有一個位元為位元及後五個位元中一定要各有一個位元為11 ,其餘為,其餘為 00十進位數字 二五碼 十進位數字 二五碼

0 0100001 5 1000001

1 0100010 6 1000010

2 0100100 7 1000100

3 0101000 8 1001000

4 0110000 9 1010000

數字 0 ~ 9的二五碼

Page 49: 新世代計算機概論

2-5-62-5-6  五取二碼 五取二碼 (( 二個位元為二個位元為 11 、三個位元、三個位元為為 0)0)

十進位數字 五取二碼 十進位數字 五取二碼

0 00011 5 01100

1 00101 6 10001

2 00110 7 10010

3 01001 8 10100

4 01010 9 11000

數字 0 ~ 9的五取二碼

Page 50: 新世代計算機概論

2-5-72-5-7  葛雷碼 葛雷碼任何連續兩個數字的二進位表任何連續兩個數字的二進位表示法只有一個位元不相同,其示法只有一個位元不相同,其餘位元均相同稱為餘位元均相同稱為 Gray CodGray Codee 。可用於資料傳輸,但不適。可用於資料傳輸,但不適用於算術運算。用於算術運算。

反射葛雷碼 反射葛雷碼 (reflected gray c(reflected gray codes) odes) 公式:公式:

Gn+1 = {0Gn, 1Gnref }, G1 = {0, 1},

n >= 1

00 11 33 22

44 55 77 66

1212 1313 1515 1414

88 99 1111 1010

Page 51: 新世代計算機概論

Page 52: 新世代計算機概論

若要將二進位數字若要將二進位數字 BBnnBBn-1n-1…B…B11 轉換成葛雷碼轉換成葛雷碼 GGnnGGn-1n-1

……GG11 ,可以套用如下公式:,可以套用如下公式:

二進位數字 二進位數字 1 0 1 1 11 0 1 1 1

⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕ ⊕葛 雷 碼 葛 雷 碼 1 1 1 0 01 1 1 0 0

Page 53: 新世代計算機概論

若要將葛雷碼若要將葛雷碼 GGnnGGn-1n-1…G…G11 轉換成二進位數轉換成二進位數字字 BBnnBBn-1n-1…B…B11 ,可以套用如下公式:,可以套用如下公式:

葛 雷 碼 葛 雷 碼 1 1 0 01 1 0 0

⊕ ⊕ ⊕ ⊕ ⊕ ⊕二進位數字 二進位數字 1 0 0 01 0 0 0

Page 54: 新世代計算機概論

單精確度表示法 單精確度表示法 (4Bytes)-IEEE754(4Bytes)-IEEE754

1bit 8bits 23bits1bit 8bits 23bits Sign bit(0Sign bit(0 表正數表正數 11 表負數表負數 )) -(1) -(1)SS × 2 × 2E-127E-127 × × 1.F 1.F尾數尾數 (mantissa)(mantissa) 或稱分數或稱分數 (fraction)(fraction) 必須先做正必須先做正規化成規化成 00..ddd…X2ddd…X2nn格式,然後再將最高位的 格式,然後再將最高位的 11調整到個位數上。調整到個位數上。

偏移指數偏移指數 (biased exponent)(biased exponent) ㄧ般使用ㄧ般使用 offset (offset (偏偏移移 )) 方式區別正負,假設方式區別正負,假設 exponentexponent 部分使用部分使用 8bi8bitsts ,則共有,則共有 2288=256=256 種狀態種狀態 (127~ -128)((127~ -128)( 稱為稱為 exexcess-128)cess-128) 。實數真正的指數。實數真正的指數 ==偏移指數偏移指數 -127-127

Page 55: 新世代計算機概論

正規數字正規數字 (normalized number)(normalized number) 表示法如下表示法如下 aa

00.a.a11aa22aa33…×10…×10KK ,其中,其中 aa00 ,需介於,需介於 1~91~9 之間之間的ㄧ個整數的ㄧ個整數 (( 前面可以有負號前面可以有負號 )) ,不得為,不得為 00(( 科學計數法無此限制科學計數法無此限制 )) 。 。 如如 3.0 × 103.0 × 10-9-9 是正是正規數字規數字

Page 56: 新世代計算機概論

若某電腦採若某電腦採 excess-64excess-64格式,請將格式,請將 (194.25)(194.25)1010 化成化成單精確度的浮點格式單精確度的浮點格式 (( 採採 1616 進位表示進位表示 ))

解 解 (194.25)(194.25)10 10 = (11000010.01)= (11000010.01)22

正規化 正規化 = (0.1100001001)= (0.1100001001)2 2 × 2× 288

調整成 調整成 1.1.1000010011000010012 2 × 2× 27 7 i.e.i.e.真正指數真正指數為為 77

由題目知道由題目知道 excess-64excess-64格式格式 (( 亦即指數部分有亦即指數部分有 7bit7bits)s) 。所以,指數值應為 。所以,指數值應為 7 + 64 = (71)7 + 64 = (71)10 10

亦即為亦即為 ((10001111000111))22 ;故浮點格式為;故浮點格式為 00 10001111000111 100001001100001001000000000000000 000000000000000

(4 7 8 4 8 0 0 0)(4 7 8 4 8 0 0 0)1616

Page 57: 新世代計算機概論

倍精確度表示法 倍精確度表示法 (8Bytes)(8Bytes)

1bit 11bits 52bits1bit 11bits 52bits

b63 b62b61b60 … b52 b51b50 … b1b0

就就 excess-32excess-32 系統而言,當指數小於系統而言,當指數小於 -32-32 稱稱為為 underflow(underflow( 超下限超下限 )) ;指數大於;指數大於 3131則發生則發生overflow(overflow( 溢位溢位 )) 。此種情形常會造成例外處。此種情形常會造成例外處理理 (exception)(exception) 而引起中斷而引起中斷 (interrupt)(interrupt) 。。

Page 58: 新世代計算機概論

中斷中斷 (interrupt)(interrupt) 有分硬體中斷與軟體中斷,屬於有分硬體中斷與軟體中斷,屬於同步事件,是由特定事件所引發的,例如同步事件,是由特定事件所引發的,例如 TimerTimer 、 、 KeyboardKeyboard 就會產生硬體中斷;而像就會產生硬體中斷;而像 BIOSBIOS、、 DOS FunDOS Function Callction Call就屬於軟體中斷,是由程式自行呼叫所就屬於軟體中斷,是由程式自行呼叫所產生的中斷產生的中斷

例外中斷例外中斷 (exception)(exception) 是為了非正常狀態的執行,是為了非正常狀態的執行,例如例如 Divide by 0 or File I/O errorDivide by 0 or File I/O error 就會產生例就會產生例外中斷,此時可針對異常而進行補救處理外中斷,此時可針對異常而進行補救處理

陷阱中斷陷阱中斷 (trap)(trap) 屬於例外中斷的一種屬於例外中斷的一種,,一般是在程一般是在程式中欲執行未經定義的指令或為了式中欲執行未經定義的指令或為了 TraceTrace 程式執行程式執行所設定的中斷點,所設定的中斷點, CPUCPU 執行到此即會中斷,以便檢執行到此即會中斷,以便檢視狀態視狀態

Page 59: 新世代計算機概論

ExceptionException is a general term for an exceptional is a general term for an exceptional event that breaks the normal instruction flow. event that breaks the normal instruction flow.

There are several types of exceptions. There are several types of exceptions. TrapsTraps are exceptions that are triggered by an action are exceptions that are triggered by an action of the program. Anof the program. An trap trap example is an attempt example is an attempt of a program to execute an undefined of a program to execute an undefined instruction. instruction.

InterruptsInterrupts are asynchronous events triggered are asynchronous events triggered by sources which are external to the core, like by sources which are external to the core, like a timer.a timer.

Page 60: 新世代計算機概論

2-72-7  文字表示法  文字表示法 ASCII(ASCII( 讀作讀作 as-keyas-key ,,美國資訊交換標準碼,美國資訊交換標準碼,

American Standard Code for Information InterAmerican Standard Code for Information Interchange) change) 是目前使用最廣泛的編碼系統,使用是目前使用最廣泛的編碼系統,使用77 位元來表示字元符號,可表達位元來表示字元符號,可表達 2277=128=128 種文數種文數字字元。字字元。

繁體中文編碼系統,例如繁體中文編碼系統,例如 BIG5 (BIG5 ( 資策會設計資策會設計,,又稱為大五碼又稱為大五碼 )) 、王安碼、、王安碼、 CCCIICCCII 碼碼 (( 全漢字全漢字標準交換碼標準交換碼 )) ,以,以 BIG5BIG5 碼最普遍,使用碼最普遍,使用 1616 位位元來表示一個中文字,理論上可表達元來表示一個中文字,理論上可表達 221616=6553=655366 種文數字字元,但為兼容種文數字字元,但為兼容 ASCIIASCII 碼故實際僅碼故實際僅能表達萬餘字,至於簡體中文則是以能表達萬餘字,至於簡體中文則是以 GBGB 碼為碼為主。國際上其他各國則採主。國際上其他各國則採 UnicodeUnicode編碼。 編碼。

Page 61: 新世代計算機概論

EBCDIC(IBMEBCDIC(IBM 使用使用,, Extended Binary CodeExtended Binary Coded Decimal Interchange Code)d Decimal Interchange Code) 和和 ASCII-8ASCII-8 均均使用使用 88 位元來表示字元符號,共位元來表示字元符號,共 256256 個字元。個字元。

近來又有另一套編碼系統叫做近來又有另一套編碼系統叫做 UnicodeUnicode ,這,這是使用是使用 1616 位元來表示字元符號,為了涵蓋位元來表示字元符號,為了涵蓋電腦使用的文字及各個語系電腦使用的文字及各個語系,,可以表示可以表示 221616 (65,536) (65,536) 個字元,前個字元,前 128128 個字元符號和個字元符號和 ACACSIISII 相同。目前編碼已有四萬多個字元相同。目前編碼已有四萬多個字元。。

Page 62: 新世代計算機概論
Page 63: 新世代計算機概論

2-82-8  圖形表示法  圖形表示法 2-8-12-8-1  點陣圖 點陣圖 (bitmap graphic) (bitmap graphic) 點陣圖是將圖形當成許多點的集合,每個點陣圖是將圖形當成許多點的集合,每個點稱為一個像素 點稱為一個像素 (pixel)(pixel) ,像素愈多,解,像素愈多,解析度就愈高,畫質也愈細緻。析度就愈高,畫質也愈細緻。

一張黑白點陣圖可以表示成一連串的像素,一張黑白點陣圖可以表示成一連串的像素,每個像素佔用每個像素佔用 11 位元,以位元,以 00 或或 11 表示白表示白色或黑色。色或黑色。 2288=256=256色 色

Page 64: 新世代計算機概論

許多電腦設備是藉由不同強度的紅許多電腦設備是藉由不同強度的紅(R)(R) 、綠、綠 (G)(G) 、藍、藍 (B)(B) 三原色來表示三原色來表示各種顏色,一個像素佔用各種顏色,一個像素佔用 33 位元組位元組

,, 222424=16=16 百萬色,以表示紅百萬色,以表示紅 (R)(R) 、、 綠綠 (G)(G) 、藍、藍 (B) (B) 三原色的強度三原色的強度 (0~(0~ 255)255) 。適合用來儲存複雜圖案與色。適合用來儲存複雜圖案與色彩的影像彩的影像 (( 例如:照片例如:照片 ) )

紅紅 (R)(R) 綠綠 (G)(G) 藍藍 (B)(B) 顏色顏色1111111111111111 000000000000000000 0000000000000000 紅紅0000000000000000 1111111111111111 0000000000000000 綠綠0000000000000000 000000000000000000 1111111111111111 藍藍1111111111111111 1111111111111111 1111111111111111 白白0000000000000000 000000000000000000 0000000000000000 黑黑1111111111111111 1111111111111111 0000000000000000 黃黃

Page 65: 新世代計算機概論

2-8-2 2-8-2 向量圖向量圖 (vector graphic) (vector graphic) 向量圖是利用數學貝茲向量圖是利用數學貝茲 (Bezier) (Bezier) 曲線來描述圖形的輪廓,然後透曲線來描述圖形的輪廓,然後透過解譯演算法來解譯並轉換成點過解譯演算法來解譯並轉換成點和線,故向量圖可以依照任意比和線,故向量圖可以依照任意比例放大、縮小、旋轉及傾斜。在例放大、縮小、旋轉及傾斜。在工程繪圖上工程繪圖上 ,, 或製作幾合圖型或或製作幾合圖型或較簡易圖型時,向量圖都是較好較簡易圖型時,向量圖都是較好的選擇的選擇 ,, 常見的工具軟體是常見的工具軟體是 CorelCorel

drawdraw、、 Illustrator flashIllustrator flash、、 ViVisiosio、、 AutoCADAutoCAD等。通常將向量等。通常將向量圖轉成點陣圖很容易,不過將點圖轉成點陣圖很容易,不過將點陣圖轉向量圖效果比較差。陣圖轉向量圖效果比較差。

點陣圖放大會產生鋸齒

Page 66: 新世代計算機概論

我們平常慣用的繪圖軟體如:我們平常慣用的繪圖軟體如: WindowsWindows 內建的小畫內建的小畫家家 (.BMP(.BMP 影像格式影像格式 )) 、友立公司的、友立公司的 PhotoImpactPhotoImpact 、、 AAdboedboe 公司的公司的 PhotoShop...PhotoShop... 等所用的影像檔案格式皆等所用的影像檔案格式皆為點陣圖為點陣圖

既然點陣圖的體積這麼的龐大,那麼如何可以拿來既然點陣圖的體積這麼的龐大,那麼如何可以拿來做網站的主要圖型檔呢?為了要降低點陣圖的尺寸,做網站的主要圖型檔呢?為了要降低點陣圖的尺寸,業界提出了幾種降低圖檔尺寸的方法來,而在網站業界提出了幾種降低圖檔尺寸的方法來,而在網站建置上應用最廣也最普遍的,主要有兩種檔案格式:建置上應用最廣也最普遍的,主要有兩種檔案格式:一個是降低圖檔的色階的一個是降低圖檔的色階的 256256色的色的 .GIF.GIF 檔案格式,檔案格式,另一個是透過取樣演算的方式來降低圖檔尺寸的全另一個是透過取樣演算的方式來降低圖檔尺寸的全彩的彩的 .JPG.JPG 檔案格式檔案格式

Page 67: 新世代計算機概論

所謂的所謂的 256256色的色的 .GIF.GIF 影像格式,顧名思義,這種影像格式,顧名思義,這種格式的影像其顏色的變化最多只可以有格式的影像其顏色的變化最多只可以有 256256 種而種而已已 (( 其使用其使用 11 個位元組個位元組 (byte)(=8(byte)(=8 個位元個位元 bit)bit) 來來紀錄每一種不同的顏色,而這紀錄每一種不同的顏色,而這 11 個位元組透過排個位元組透過排列組合可以擁有列組合可以擁有 256256 種的變化,也就是種的變化,也就是 256256色的色的由來由來 )) ,這種影像格式,這種影像格式 (.GIF)(.GIF) 最適合用來儲存我最適合用來儲存我們自己動手畫的圖檔。們自己動手畫的圖檔。 GIFGIF允許使用者指定透明允許使用者指定透明色系色系 ((去背景處理去背景處理 )) 及支援動畫。及支援動畫。

試問:有誰在作畫時,會使用超過試問:有誰在作畫時,會使用超過 256256 種的顏料種的顏料呢?因此,呢?因此, 256256 種的顏色變化已經是綽綽有餘的種的顏色變化已經是綽綽有餘的了,所以,透過繪圖軟體所繪製的圖檔,若將之了,所以,透過繪圖軟體所繪製的圖檔,若將之儲存為儲存為 .GIF.GIF的影像格式的話,可以在不降低畫質的影像格式的話,可以在不降低畫質情況下,有效的降低圖檔的尺寸。 情況下,有效的降低圖檔的尺寸。

Page 68: 新世代計算機概論

全彩的全彩的 .JPG.JPG 影像格式,也是使用影像格式,也是使用 3bytes3bytes 來紀錄來紀錄每一種不同的顏色,而這每一種不同的顏色,而這 3bytes3bytes 透過排列組合當透過排列組合當然也可以擁有然也可以擁有 1677721616777216 種的變化,也就是所謂的種的變化,也就是所謂的1616 百萬色。既然也是使用百萬色。既然也是使用 3bytes3bytes 來紀錄每一種來紀錄每一種不同的顏色,那麼,它與全彩的不同的顏色,那麼,它與全彩的 .BMP.BMP的點陣圖又的點陣圖又有什麼不同呢?有什麼不同呢?

差就差在:人類的視覺辨認能力有其上限,基本差就差在:人類的視覺辨認能力有其上限,基本上很細微的顏色變化透過人眼很難上很細微的顏色變化透過人眼很難 ((甚至無法甚至無法 ))察覺出來,於是數學家們便透過某種的演算法來察覺出來,於是數學家們便透過某種的演算法來取樣並記載點陣圖的色彩變化,因此,不再是每取樣並記載點陣圖的色彩變化,因此,不再是每一個單位每一個單位的紀錄圖檔的色彩變化,自一個單位每一個單位的紀錄圖檔的色彩變化,自然也就有效的降低了圖檔的尺寸,這種然也就有效的降低了圖檔的尺寸,這種 .JPG.JPG的影的影像格式,因為仍有像格式,因為仍有 1677721616777216 種的顏色變化,特別種的顏色變化,特別適合用來儲存透過掃瞄器取得或數位相像所拍攝適合用來儲存透過掃瞄器取得或數位相像所拍攝的圖檔。的圖檔。

Page 69: 新世代計算機概論

2-92-9  聲音表示法  聲音表示法 由於聲音屬於連續的類比由於聲音屬於連續的類比 (analog)(analog)訊號,而電腦只能接訊號,而電腦只能接受受 00 與與 11 的數位的數位 (digital)(digital)訊號,因此,聲音必須經過如訊號,因此,聲音必須經過如下圖的轉換過程,才能儲存於電腦。單位時間內,取樣下圖的轉換過程,才能儲存於電腦。單位時間內,取樣頻率愈高就愈接近原音,但所佔儲存空間越大。一般的頻率愈高就愈接近原音,但所佔儲存空間越大。一般的數位音效是每秒取樣數位音效是每秒取樣 80008000次,每次取樣存成次,每次取樣存成 8bits8bits,所,所以一個數位語音通道頻寬為以一個數位語音通道頻寬為 8000*8 =64Kbps 8000*8 =64Kbps

常見得取樣頻率11KHz(11000 次 /每秒 )= 一般聲音22KHz(22000 次 /每秒 )= 錄音機一般的電台 FM廣播為 32KHz 44.1KHz(44100 次 /每秒 )=CD電腦上的 DVD 音效則為 48KHz( 經音效卡轉換 )

Page 70: 新世代計算機概論

2-102-10  資料壓縮  資料壓縮 非失真壓縮:所壓縮過的資料在經過解壓非失真壓縮:所壓縮過的資料在經過解壓縮後,會和原始資料一樣,不會遺失任何縮後,會和原始資料一樣,不會遺失任何位元。位元。常見的非失真壓縮方法有變動長度編碼 常見的非失真壓縮方法有變動長度編碼 (r(run length encoding)un length encoding) 、霍夫曼碼 、霍夫曼碼 (Huffman (Huffman code)code) 、、 Lempel-ZivLempel-Ziv 編碼…等。編碼…等。

Page 71: 新世代計算機概論

失真壓縮 失真壓縮 (lossy compression)(lossy compression) :由於人:由於人類的眼睛、耳朵無法察覺非常細微的差異類的眼睛、耳朵無法察覺非常細微的差異

,所以對於圖形、照片、影像、聲音等資,所以對於圖形、照片、影像、聲音等資料,可以使用效率高且空間小的失真壓縮料,可以使用效率高且空間小的失真壓縮

,例如,例如 JPEGJPEG 、、 GIFGIF 可以用來壓縮圖形、照可以用來壓縮圖形、照片,片, MPEGMPEG 可以用來壓縮影片,可以用來壓縮影片, MP3MP3 可以用可以用來壓縮聲音來壓縮聲音 (( 壓縮比約為壓縮比約為 1212 :: 1)…1)… 。。

   MPEG-1MPEG-1 主要應用在主要應用在 VCD VCD 影音光碟影音光碟   MPEG-2MPEG-2 主要應用在主要應用在 DVD DVD 光碟光碟   MPEG-4MPEG-4 主要應用在視訊傳遞及視訊編輯主要應用在視訊傳遞及視訊編輯

Page 72: 新世代計算機概論

2-10-12-10-1 變動長度編碼變動長度編碼 (run length encoding)(run length encoding) 此編碼技術在資料純粹由兩個符號此編碼技術在資料純粹由兩個符號 (( 如如 00 與與

1)1) 所組成的情況下最有效率,原理是記錄所組成的情況下最有效率,原理是記錄符號出現的次數,例如:符號出現的次數,例如:

14個1

3個 1 0個 1 7個 1

Page 73: 新世代計算機概論

2-10-22-10-2  霍夫曼碼  霍夫曼碼 不固定長度的編碼方式,符號的編碼長度與不固定長度的編碼方式,符號的編碼長度與

出現頻率成反比。出現頻率成反比。 編碼步驟如下:編碼步驟如下:

1.1. 找出所有符號的出現頻率。找出所有符號的出現頻率。2.2. 將頻率最低的兩者相加得出另一個頻率;將頻率最低的兩者相加得出另一個頻率;

其中,頻率低者置放左邊。其中,頻率低者置放左邊。3.3. 重覆步驟重覆步驟 22 不斷將頻率最低的兩者相加,不斷將頻率最低的兩者相加,直到只剩下一個頻率為止。直到只剩下一個頻率為止。

4.4. 根據合併的關係分別配置根據合併的關係分別配置 0(0( 左邊左邊 )) 和和 11(( 右邊右邊 )) ,而形成一個編碼樹。,而形成一個編碼樹。

Page 74: 新世代計算機概論

(1)(1) 假設編碼系統中有假設編碼系統中有 AA 、、 BB 、、 CC 、、 DD 、、 EE 、、 FF 等符號,其 等符號,其 出現頻率依序為出現頻率依序為 0.20.2 、、 0.150.15 、、 0.30.3 、、 0.180.18 、、 0.050.05 、、 0.120.12 ,請據此畫出編碼樹並設計一套霍夫曼碼。,請據此畫出編碼樹並設計一套霍夫曼碼。 (2) (2) 將將 111110010000110111110010000110 進行解碼進行解碼

(1) A: 01B: 110C: 10D: 00E: 1110F: 1111

(2)

111110010000110111110010000110

F C A D D BF C A D D B

Page 75: 新世代計算機概論

2-10-32-10-3    LZLZ 編碼 編碼 LZLZ 編碼編碼 ((Lempel-Ziv encoding)Lempel-Ziv encoding) 屬於屬於字典式字典式編碼編碼 ((dictionary based encoding)dictionary based encoding) ,也就,也就是在進行壓縮時,從原始資料擷取字典中所是在進行壓縮時,從原始資料擷取字典中所沒有的子字串,然後建立成字典中的索引,沒有的子字串,然後建立成字典中的索引,再根據索引加以編碼。 再根據索引加以編碼。

Page 76: 新世代計算機概論
Page 77: 新世代計算機概論
Page 78: 新世代計算機概論

2-112-11  誤差與錯誤檢查  誤差與錯誤檢查 固有誤差 固有誤差 (inherent error)(inherent error) :由先天上的限制:由先天上的限制所導致的誤差。如無窮小數所導致的誤差。如無窮小數 1/3 1/3

捨棄誤差捨棄誤差 (truncation error)(truncation error) :因數值方法:因數值方法(( 如刪除尾數項如刪除尾數項 )) 所造成的誤差。所造成的誤差。

捨位誤差捨位誤差 (round-off error)(round-off error) :以有限小數來替:以有限小數來替代真正數所造成的誤差。如小數點無法完全代真正數所造成的誤差。如小數點無法完全存入浮點格式的存入浮點格式的 mantissamantissa 時,就會產生這種時,就會產生這種誤差。誤差。

Page 79: 新世代計算機概論

同位元檢查 奇同位元檢查 奇 (odd)(odd)同位元檢同位元檢查查

(parity check) (parity check) 偶偶 (even)(even)同位元檢查同位元檢查 數 數 碼 定數檢查碼 定數檢查 (fixed-count check)(fixed-count check)

檢 檢 查 循環冗餘碼檢查查 循環冗餘碼檢查 (Cyclic Redundancy Check)(Cyclic Redundancy Check)

漢明碼漢明碼 (Hamming Code)(Hamming Code)

Page 80: 新世代計算機概論

2-11-12-11-1  同位位元檢查 同位位元檢查 在資料位元傳送出去之前,先加上一個同在資料位元傳送出去之前,先加上一個同位位元 位位元 (( 通常加在最前面通常加在最前面 )) ,然後傳送出,然後傳送出去,待接收到這些位元圖樣後,就檢查看去,待接收到這些位元圖樣後,就檢查看看是否有奇數個看是否有奇數個 11 或偶數個或偶數個 11 。。

又分成奇同位檢查和偶同位檢查。又分成奇同位檢查和偶同位檢查。

Page 81: 新世代計算機概論

2-11-22-11-2  循環冗餘碼  循環冗餘碼 (CRC) (CRC)

讓發訊端與收訊端事先協調一個生成多項讓發訊端與收訊端事先協調一個生成多項式,然後發訊端在將資料位元傳送出去之式,然後發訊端在將資料位元傳送出去之前,先將資料位元除以生成多項式,再將前,先將資料位元除以生成多項式,再將得到的餘數 得到的餘數 (( 即即 CRCCRC 碼碼 ) ) 放在資料位元放在資料位元的後面一起傳送出去。的後面一起傳送出去。 CRCCRC 法保證在法保證在 10101212

之中只會出現一個錯誤。之中只會出現一個錯誤。

Page 82: 新世代計算機概論

假設資料位元為假設資料位元為 110010101110110010101110 ,生成多,生成多項式為項式為 XX3 3 + 1 (1001)+ 1 (1001) ,試求取,試求取 CRCCRC 碼及碼及加上加上 CRCCRC 碼後的完整訊息:碼後的完整訊息:

1.1. 由於生成多項式由於生成多項式 XX33 + 1 (1001) + 1 (1001) 的羃次為的羃次為33 ,故先在資料位元,故先在資料位元 110010101110110010101110 的後的後面加上三個面加上三個 00 ,得到被除數為,得到被除數為 110010101110010101110000110000 。 。

Page 83: 新世代計算機概論

2.2. 以長除法求取以長除法求取 110010101110000110010101110000 除以生成除以生成多項式多項式 XX33 + 1 (1001) + 1 (1001) 的餘數:的餘數:

3.3. CRCCRC 碼為餘數碼為餘數 1111 ,故完整訊息為,故完整訊息為 1100101100101011101011101111 。只要收訊端有正確的接收到訊。只要收訊端有正確的接收到訊息,就ㄧ定能被生成多項式所整除。 息,就ㄧ定能被生成多項式所整除。

Page 84: 新世代計算機概論

2-11-32-11-3  錯誤更正碼  錯誤更正碼 (ECC) (ECC)

漢明碼為一兼具自動錯誤偵測與更正一個漢明碼為一兼具自動錯誤偵測與更正一個 bitbit的雙種功能,若用的雙種功能,若用 77 個個 bitbit ,, 44 個代表個代表 datadata ,,33 個代表檢查碼。 個代表檢查碼。

Bit position 7 6 5 4 3 2 1Bit position 7 6 5 4 3 2 1

DataData M M4 4 MM3 3 MM2 2 MM11

Check bit CCheck bit C3 3 CC2 2 CC11

其中,其中, CC1 1 = M= M4 4 ⊕⊕ MM2 2 ⊕⊕ MM11

CC2 2 = M= M4 4 ⊕⊕ MM3 3 ⊕⊕ MM1 1

CC3 3 = M= M4 4 ⊕⊕ MM3 3 ⊕⊕ MM22

Page 85: 新世代計算機概論

當錯誤更正碼的漢明距離大於等於當錯誤更正碼的漢明距離大於等於 DD 時,只要時,只要發生錯誤的位元不超過發生錯誤的位元不超過 D - 1D - 1 個,系統都能個,系統都能夠偵測出來,而只要發生錯誤的位元不超過 夠偵測出來,而只要發生錯誤的位元不超過 (D - 1) / 2(D - 1) / 2 個,系統都能夠加以更正。個,系統都能夠加以更正。

考題:漢明碼距離為考題:漢明碼距離為 55 的一組編碼,至多能校的一組編碼,至多能校正幾個位元的錯誤正幾個位元的錯誤 ? (A)1 (B)2 (C)3 (D)4 ? (A)1 (B)2 (C)3 (D)4

PS.PS. 漢明碼距離指的是兩個碼中所具有不同位漢明碼距離指的是兩個碼中所具有不同位元值的數目,如元值的數目,如 0011000110 和和 1111011110 之間,漢明之間,漢明碼距離為碼距離為 22

Page 86: 新世代計算機概論

補充 補充 1616 進位 進位 28*B528*B5 何值?何值?先轉成先轉成 22 進位再計算進位再計算28281616=101000=1010002 2 B5B51616=10110101=1011010122

1011010110110101 * 101000* 101000 1011010100010110101000 101101010101101010 11110011000100010010001000

(1 C 4 8)(1 C 4 8)1616

Page 87: 新世代計算機概論

小考小考 11

(123.4)(123.4)88 等於等於 1616 進位何值?進位何值? (A)53.4 (B)53.(A)53.4 (B)53.

8 (C)83.4 (D)83.88 (C)83.4 (D)83.8 小考小考 22

當當 1010 進位數進位數 (-9)(-9) 用用 88 位元以位元以 22 的補數表的補數表示,其等值為? 示,其等值為? (A)11110110 (B)111101(A)11110110 (B)11110111 (C)00001001 (D)0000101011 (C)00001001 (D)00001010

Page 88: 新世代計算機概論

小考小考 11

先化成先化成 22 進位,再化成進位,再化成 1616 進位進位(123.4)(123.4)88=(001 010 011.100)=(001 010 011.100)22

=(=(0000000 0101 0011.1000 0101 0011.10000)=(53.8))=(53.8)16 16 答案答案 BB

小考小考 22

(-9)(-9)1010=(00001001)=(00001001)2 2 =>1=>1 的補數 的補數 (11110110)(11110110)22

=>2=>2 的補數 的補數 (11110111)(11110111)2 2 答案答案 BB

Page 89: 新世代計算機概論

Ref. Ref. 課本課本 P2-46~47P2-46~47資訊科技的專業技術認證資訊科技的專業技術認證