73
計計計計計 計計計計計 1001 1001 計計計計計計 計計計計計計 單單 2 : 單單單單單單單單單 單單單單 單單單 單單單單 單單單

計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

  • Upload
    raleigh

  • View
    112

  • Download
    0

Embed Size (px)

DESCRIPTION

計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯. 主講老師:徐培倫. 單元 2. 數字系統及數位邏輯. 數字系統 數字系統的轉換 數字表示法 數位邏輯 邏輯閘 課後習題. 常見的數字系統. 十進位數字系統 :十進位是一套 以 10 為基數 , 逢 10 即進位 的數字系統 , 由 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 等十個數元所組成 , 這套數字系統是目前人類世界中最被廣泛採用的一套系統。 - PowerPoint PPT Presentation

Citation preview

Page 1: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

計算機概論計算機概論

10011001課後輔導教材課後輔導教材

單元 2 :數字系統及數位邏輯

主講老師:徐培倫主講老師:徐培倫

Page 2: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

2

數字系統及數位邏輯

數字系統數字系統的轉換數字表示法數位邏輯邏輯閘課後習題

單元 2

Page 3: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常見的數字系統

十進位數字系統:十進位是一套以 10 為基數 , 逢 10 即進位的數字系統 , 由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9 等十個數元所組成 , 這套數字系統是目前人類世界中最被廣泛採用的一套系統。

二進位數字系統:二進位是一套以 2 為基數 , 逢 2 即進位的數字系統 , 在此系統下 , 任何數都只能用 0 和 1 兩種數元所組成的符號來表示。這套系統即是電腦所使用的數字系統。

3

Page 4: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常見的數字系統

八進位數字系統:八進位是一套以 8 為基數 , 逢 8 即進位的數字系統 , 在此系統下 , 我們只能使用 0、 1、 2、 3、 4、 5、 6、 7 等八種數元 , 如果運算過程中產生了大於或等於 8 的數 , 便要往前進位。

十六進位數字系統:十六進位是一套以 16 為基數 , 逢 16 即進位的數字系統 , 此數字系統是由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 A、 B、 C、 D、 E、 F 等十六個數元所組成 , 相對於十進位來看的話 , A=10 、 B=11 、 C=12、 D=13 、 E=14 、 F=15 。

下表將十進位數字 0 到 15 分別以二、八與十六進位來表示:

4

Page 5: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常見的數字系統

5

Page 6: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常見的數字系統

一般二進位數值我們都會加個小括弧並標註 『 2 』 , 例如: (101101)2 ; 而十六進位則標註 『 16 』 , 例如 (ACD8)16 , 依此類推。

6

Page 7: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

數字系統的轉換

由於電腦內部是以二進位形式來處理資料 , 所以當我們輸入資料時 , 電腦會自動將它轉換成二進位的形式。以下就讓我們進一步來探討各數字系統之間互相轉換的方法。

7

Page 8: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

5-2-1 轉換數字系統時的基本觀念 我們先用最熟悉的十進位數字系統來說明:

因此 , 對於任何十進位的正數 N, 假設包含 p 位整數和 q 位小數 , 則一定可以用以下的多項式來表示:

8

Page 9: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

轉換數字系統時的基本觀念

要注意的是 , p 位整數代表有 100、 101、 102、 103、… 10p-1 這些位數 , 由於是從 0 起算 , 所以只到 p-1, 而非 p 。而小數部分則是從 1 起算 , 所以有 10-1 到10-q 這些位數。

將以上的觀念擴展到 K 進位的數字系統 , 則成為 ( 將 10 換成 K) :

N 為 K 進位的正數 , p = 整數的位數 , q = 小數的位數

9

Page 10: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

轉換數字系統時的基本觀念

在以上的多項式中 , K 就是所謂的『基底 (Base, 又稱為 Radix) 』。換言之 , 平常所謂的十進位 , 就代表基底為 10 ;二進位代表基底為 2 。而在不同的數字系統之間轉換 , 便是『基底轉換 (Base Conversion) 』。

後續各小節會說明基底轉換的各種方式與技巧 , 有些可直接用心算、有的必須用筆算才能算出答案。無論如何 , 它們的基本原理都是以上述的多項式所發展出來的。所以當我們忘了某些方式或技巧時 , 只要先將數字以上述的多項式來表示 , 就能在任何數字系統之間互相轉換。

10

Page 11: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

5-2-2 二進位與十進位間的轉換二進位轉換成十進位

二進位轉換成十進位時 , 其二進位整數部份 , 在小數點左邊第一位的位值為 20 、第二位的位值為 21 、第三位的位值為 22 ... ;而小數部分 , 在小數點右邊第一位的位值為 2-1 、第二位的位值為 2-2 ... 等依序類推。以下我們以 (11101.11)2來做示範。

11

Page 12: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

二進位轉換成十進位

要將其轉為十進位 , 只要將每一個二進位數乘以該數的位值 , 然後相加即可獲得相對應的十進位數值:

12

Page 13: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

十進位轉換成二進位

將十進位轉換成二進位 , 可分為兩個部份來處理;在此我們以 (29.25)10 轉換成二進位來做示範。

整數部分 採連續除以 2 , 並保留 『餘數 』 , 直到除法運算後的商數為 0 時停止;然後由最後一次產生的餘數開始 , 依序由左向右排列 , 即可完成整數部分的轉換。

13

Page 14: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

十進位轉換成二進位

14

Page 15: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

十進位轉換成二進位

小數部分 將小數部份乘以 2 , 保留所得乘積的 『整數部分 』 , 繼續將乘法運算後所得的小數部分乘以 2 , 直到所得的小數為 0 時停止;然後由第一次取得的整數開始 , 依序由左向右排列 , 即可完成小數部分的轉換。

15

Page 16: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

十進位轉換成二進位

最後將整數部份加上小數部份: 11101 + 0.01 = 11101.01 。所以 (29.25)10 =(11101.01)2 。

16

Page 17: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

數字表示法

到目前為止 , 我們所討論的數字都是正數。至於負數 , 該如何表示呢?對人而言 , 負數就是在正數的前面加上『-』符號即可;但是對電腦而言 , 並無眼睛可辨識正負符號。因此 , 我們必須制定一套讓電腦能夠辨識負數的表示法 , 常見的表示法有以下三種:

最高位元 (Signed Magnitude) 表示法 1 的補數 (1's Complement) 表示法 2 的補數 (2's Complement) 表示法 為了便於說明 , 以下我們一律用 8 位元的整數作為範

例。

17

Page 18: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

最高位元表示法

最高位元表示法又稱為『附加符號表示法』 , 也有人譯為『帶符號大小表示法』。其原理是利用最高位元 (MSB, Most Significant Bit) 代表正或負 , 其餘位元表示數值。 MSB = 0 代表正數; MSB = 1 代表負數 , 因此該 MSB 又稱為符號位元 (Sign Bit), 如下圖:

18

Page 19: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

最高位元表示法 因此 , 以 8 位元的整數為例 , 其可表示的正負數如下表

所示:

19

Page 20: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

最高位元表示法

最高位元表示法有個缺點 , 就是有 2 個寫法都代表 0 (00000000 與 10000000), 使得原來總共可以表示 256 個數字 , 變成只能表示 255 個。

20

Page 21: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

1 的補數表示法 使用 1 的補數 (1's Complement) 表示法時 , 一個數的

負數即是將該數的每一位元數值 0、 1 互換 ( 即 1 變 0, 0 變 1) 。如下表:

21

Page 22: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

1 的補數表示法

1 的補數表示法與最高位元表示法有同樣的缺點 , 也有 2 個 0 (00000000 與 11111111), 因此在實際上 , 並無法被電腦所採用。在電腦裡 , 實際被使用的是 2 的補數表示法。

22

Page 23: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

2 的補數表示法 在 2 的補數 (2's Complement) 表示法裡 , 一個數的負數即是其 1 的補數值再加 1, 如下表示:

23

Page 24: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

2 的補數表示法

由上表可知 , 只有在 0 時 , 該數 1 的補數值加 1, 才會使得最高位元進位 , 此時該進位的位元捨棄 , 使得該數 ( 0 ) 的正負數表示法相同;因此以 2 的補數法來表示負數 , 就不會有 「兩種方式表示 0」 的困擾了。結果正數由 1 ~ 127 總共有 127 個;負數由 -1 ~ -128 ;再加上 1 個 0 , 所以 8 個位元總共可以表示 256 個數。

24

Page 25: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數的表示法

在電腦中 , 當用到含有小數的數字 ( 如 3.14);或是整數的值 ( 如 10 的 20次方 ) 超過整數表示法所有位元所能表現的最大值時 , 這時就需要使用一種特別的表示方法 , 稱之為浮點數 (Floating Point) 表示法。

25

Page 26: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

正規化

在正式介紹浮點數表示法之前 , 我們先大致說明正規化 (Normalization) :當我們要將一個數字以浮點數表示法表示時 , 需要先將其正規化。所謂的正規化 , 是將該數字轉換成二進位的 1.xxxxxx × 2 指數 的形式。

26

Page 27: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

正規化

例如要計算 (12.25)10 經正規化的結果 , 需先將其轉換為二進位 (12.25)10 =(1100.01)2 , 再正規化成 1.10001 × 23。此時 , 1.10001 × 23 可解讀出以下資訊 , 這些資訊將在轉換成浮點數表示法時用到:

此數值為正數。 指數為 3 。 小數部分為 10001 。

27

Page 28: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

浮點數表示方法相較於前二節所介紹的正負整數表示法 , 最主要的差別就在於小數點的位置。之前所介紹儲存正負整數的方法 , 小數點都固定在最右邊 , 所以其又稱為定點表示法。

不同 CPU 雖有其各自的浮點數表示法 , 但一般較常採用 IEEE 協會所訂定的浮點數表示法標準 ( IEEE Standa rd 754) , 其分成單精確度 (Si n g l e Precision) 及雙精確度 (Double Precision) 二種。兩者的差別在於單精確度是以 32 個位元來表示浮點數 , 雙精確度則是用 64 位元表示。以下我們以單精確度為例來說明:

28

Page 29: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

正 / 負符號:表示這個數字是正數還是負數 , 用 0 表示正數 , 1 表示負數。

29

Page 30: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

偏差指數:表示這個數字的指數部分。 8 個位元可表示數值 0 ~ 255 。由於要表示的數字可能很大 , 也可能很小 , 因此其指數部分可能為正或負。為了要能顯示正負兩種指數 , 因此以 127 為指數偏差值。將數字的指數值加上指數偏差值 127, 即可算出要儲存的偏差指數。例如某數的指數為 -3, 則會以 127+(-3)=124 儲存。

因此單精確度的表示法 , 能表示指數的範圍為 -127 ~ 128 。

30

Page 31: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

小數部份:表示這個數字的小數部分。這裡的小數部份是指以二進位形式 ,且正規化後的小數部份。

在此依舊以 (12.25)10為例 , 看看如何以單精確度的浮點數表示法來表示。

首先 , 它是個正數 , 所以第一個位元已經確定是 0 。 接著將其正規化成 1.10001 × 23, 此時便可計算出偏差指數為 3 + 127 =130, 再把 130 轉換為長度為 8 位元的二進位 (10000010)2 , 於是可以得到偏差指數的部份就是 10000010 。

31

Page 32: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

最後是小數部份 , 小數部份即是正規化後二進位的小數部份 , 至於小數點前面那個 1, 則因為所有正規化的數字都有 , 所以不用記錄 , 只要顯示後面的小數部份 10001, 但小數共有 23 個位元 , 所以要把後面的位元補上 0 。最後得到的浮點數表示如下:

32

Page 33: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

浮點數表示法

浮點數表示法雖然以相當多的位元來表示 , 但對於一些數值 , 若正規化後無法以有限位元來表示小數部分 ( 例如 0.3 經正規化後 , 其小數部分會成為循環 ), 則其以浮點數表示法表示時 , 只能得到近似值。

33

Page 34: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

文字的表示法

電腦不但可以幫我們做快速精確的數值運算 , 還可以做文字資料的處理。要處理文字資料 , 就必須先瞭解文字資料在電腦中的表示方法。

數值資料在電腦內部是以「二進位」的形式來表示 , 這是因為電腦只能處理二進位形式的資料;同樣地 , 我們輸入電腦的文字資料 , 亦會被轉換成二進位碼的形式儲存。這種將文字資料轉換成二進位碼的系統就稱為編碼系統。以英文字母為例 , 我們可以建一個編碼表。

34

Page 35: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

文字的表示法

35

Page 36: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

文字的表示法

我們把每一個英文字母編上一個號碼 , 建成一套編碼表。這個編碼表可以存放在鍵盤內的電路上。當我們按下一個鍵時 , 鍵盤的電路便依表格的規定 , 把該鍵對應的二進位碼送往電腦主機 ( 例如按下

鍵 , 鍵盤便會把其相對應碼 65 的二進位數 01000001 傳到主機 ) 。同樣地 , 當我們想將文字資料輸出時 , 編碼系統亦會將二進位碼轉換成對應的字元符號 , 再藉由輸出設備顯示或列印出來。

電腦是以數字碼來表示文字資料 , 例如 65 代表 "A", 66 代表 "B" 。像這種以數值代表字元的方式稱為編碼 , 不同的系統可能會使用不同的編碼方式。

36

Page 37: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的英文電腦編碼系統

目前在 PC 上常用的英文編碼系統有 3 種 , 分別是:ASCII 碼、 ISO8859 碼和 EBCDIC 碼。

ASCII 碼:是美國標準資訊交換碼 (American Standard Code for Information Interchange) 的縮寫;它不但包含英文大、小寫字母 , 還有阿拉伯數字、控制字元以及各種符號等。 ASCII 碼是以 7 個位元來表示 , 因此共有128 個 ASCII 碼 , 每一個碼都對應一個字元 , 在電腦中是以 1 個位元組來儲存。其數值與字元的對應表如下:

37

Page 38: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的英文電腦編碼系統

38

Page 39: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的英文電腦編碼系統

由於 1 個位元組 (8 個位元 ) 可以表示出 28 = 256 種資料 , 因此在 PC 上又將 ASCII碼擴充 , 多了 128 個擴充符號字元 ( 號碼為 128 ~ 255), 可用來繪製表格的格線 , 或印出特殊的字母、符號等。

39

Page 40: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的英文電腦編碼系統

ISO8859 碼:由於歐洲地區語系的文字除了 26 個英文字母 ( 也就是拉丁字母 )外 , 還包含了拉丁字母的變形 ( 例如上下標 ) 與其他字母 ( 例如希臘字母 ) 等。有鑑於此 , ISO 國際標準化組織便將編碼系統由 7 個位元擴充到 8 個位元 , 其中 0 到 127 的編碼與 ASCII 碼相容 , 128 到 255 碼則依地區不同 , 包含更多的特殊字元。 ISO8859 的編碼系統又依地區語系的不同 , 區分成幾個部分 , 例如丹麥和芬蘭等語系使用 ISO8859-1 編碼系統 , 而羅馬尼亞和波蘭等語系則採用 ISO8859-2 編碼系統。

40

Page 41: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的英文電腦編碼系統

EBCDIC 碼: EBCDIC 碼的全名是 Extended Binary Code Decimal Interchange Code, 是美國 IBM 公司所制定的編碼系統 , 主要使用在 IBM 一部份大型主機上。 EBCDIC 碼的每一個字元是由 8 個位元所組成 , 共有 28種組合 , 可以表示 256 個字元。

41

Page 42: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

在電腦中 , 8 個位元 (28 = 256) 就足以表示所有的英文字母、阿拉伯數字及許多特殊符號;但是 , 8 個位元卻不足以表示所有的中文字 , 因此中文字是以 2 個位元組 (16 個位元 ) 來編碼。由於這些碼都是中文字儲存在電腦內部時的編碼 , 所以又稱為中文的內碼。

以下就針對目前比較常使用的編碼系統做介紹: Big5 碼:由資策會工業局聯合 13 家業者於 1984 年

所共同制定的編碼系統 , 包含了 5401 個常用字、 7652 個次常用字及 408 個符號 ( 含標點符號、注音符號、單位符號…… ), 共 13461 個字。

42

Page 43: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

43

Page 44: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

Big5 碼雖然已收錄了 13461 個字 , 但仍缺少一些罕見字 , 例如大家在看網頁時 , 有時會發現游錫 的 字,以及王建 的 字無法顯示 , 這都是因為 Big5碼沒有這 2 個字所致。

44

Page 45: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

由於 Big5 碼並沒有用完 2 個位元組所能顯示的字數 , 仍有許多內碼未被使用 , 因此便有些單位以其為基礎 , 發展出衍生的 Big5 編碼 , 例如早期倚天中文系統使用的 Big5_Eten 等。

45

Page 46: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

CP950 碼: CP950 (CodePage 950) 碼也稱為 MS950 碼 , 由微軟公司所發展 , 從 Big5 碼擴充而來的 , 其應用於微軟的 Windows 作業系統中。原本 Windows 作業系統內部是採用 Unicode 編碼方式 (稍後會介紹 ), 但為了配合多國語言使用 , 系統會根據使用者的國籍設定 , 在輸出、輸入和顯示時 , 搭配以不同的 CP*** 編碼方式呈現 , CP950 便是代表繁體中文的編碼方式 , 如果是泰文就會轉以 CP874 的編碼呈現。

46

Page 47: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

常用的中文電腦編碼系統

CNS11643 :由於 Big5 碼字數不足 , 因此國內許多政府機關為了符合其需要 , 都建立了自己的編碼系統 , 像是財稅資料中心的財稅碼、戶政的 EUC(Extend Unix Code) 碼等。但各單位編碼系統不同 , 造成文件交換的困難 , 因而政府在 1986 年制定了 CNS11643 通用漢字標準交換碼 , 提供國內資訊系統中文交換與處理上的標準依據 , 1992 年更名為國家標準中文交換碼。經過歷年的擴充 , 目前 CNS11643 已包含約 11 萬字 , 詳細資訊可參考官方網站 http://www.cns11643.gov.tw 。

47

Page 48: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

全球統一的編碼系統

現在全世界有許多語言在被使用 , 甚至有些語言還會有多種編碼系統 ( 例如繁體中文就有 Big5、 CP950…), 使得全世界有相當多種編碼系統。這也衍生出一個問題:當使用不同編碼的電腦要交換資料時 , 由於沒有共用的編碼系統 , 以致無法解讀彼此的文字。

例如我們平時在瀏覽網頁或收信時 , 有時就會發現網頁或信的內容全部是亂碼 , 其原因可能就是當初撰寫這些網頁、信件時所採用的編碼系統 , 跟我們解讀時所使用的編碼系統不同 , 以致無法 "溝通 " 所致:

48

Page 49: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

全球統一的編碼系統

49

Page 50: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

全球統一的編碼系統

為了解決這樣的問題 , 於是出現了 Unicode 碼 ( 統一碼、標準萬國碼 ) 。它是由 Unicode 協會及 ISO 國際標準化組織針對各國文字、符號制定的統一性編碼系統 , 將全球語言編在一起 , 而達成統一編碼的目的。

50

Page 51: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

Unicode 的起源、發展與未來

如之前所述 , Unicode 是為了解決全球不同語言有各自的編碼系統 , 以致彼此無法溝通的問題。 Uniocde 編碼在電腦的發展史上具有舉足輕重的地位 , 接下來我們將進一步為您介紹 Unicode 的起源、發展與未來。

51

Page 52: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

Unicode 的起源

為了解決各種編碼系統各自為政的情形 , 從 1984 年開始 , 陸續出現了二個試圖整合各種語系的編碼系統:

ISO 10646 標準: 1984 年 , 由隸屬於 ISO 國際標準化組織與 IEC 國際電工聯盟的 ISO/IEC JTC1/SC2/WG2 工作小組 (簡稱 WG2) 所制定 , 最後完成的標準命名為 UCS(Universal multiple-octet Coded character Set), 其編號為 ISO 10646 。

52

Page 53: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

Unicode 的起源

Unicode 碼: ISO 10646 草案在公佈後 , 卻遭到有些電腦廠商的反對。 1987 年底 ,Xerox (全錄 ) 及 Apple 公司三位軟體工程師提議另外制定一套全世界統一的編碼系統 , 並將之命名為 Unicode。 1988 年完成了 Unicode 第一個版本 , 但這個版本仍不算正式的標準 , 只屬於草案型式。

1991 年 , 由 Xerox、Microsoft、 IBM、 Sun、 Apple、 DEC…… 等十幾家業者共同出資 , 成立了 Unicode 協會 (The Unicode Consortium), 並由協會設立非營利性的 Unicode 公司。 1991 及 1992 年分別推出了 Unicode 標準第一版的第一及第二冊。

53

Page 54: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

Unicode 的起源

當初會取名成 Unicode, 是源自於 "unique, universal, and uniform character encoding", 表明希望這是全球唯一且一致的編碼方式。

為了統一全世界所有語言的編碼 , 反而出現了 2 套標準 , 形成了雙頭馬車。所幸 WG2工作小組與 Unicode 協會經過不斷搓商之後 , 1991 年其編碼終於整合成在一起 , 成為 ISO 10646/Unicode 標準。之後的工作分配 , 是由 WG2 工作小組負責收集、整合、收錄各國的文字 , 而 Unicode 協會則積極協助 WG2 小組。

54

Page 55: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

數位邏輯

數位邏輯 (Digital Logic) 泛指在分析或設計數位電路時 , 所應瞭解的理論與運算 , 而這些理論與運算是以布林代數為數學基礎 , 並涉及布林函數、真值表和邏輯閘等等 , 本章將依序介紹這些主題與相關的概念。

55

Page 56: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

布林代數

1854 年英國數學家喬治•布耳 (George Boole) 發表關於邏輯運算的代數理論 , 世人為了紀念他的卓越貢獻 , 便將這門代數學稱為布林代數 (Boolean Algebra) 。而布林函數則是布林代數的核心 , 因此我們首先來認識布林函數。

56

Page 57: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

邏輯閘

所謂的邏輯閘 (Logic Gate) 就是執行邏輯運算的數位電路 , 也是數位邏輯的基礎 , 如果看不懂邏輯閘 , 就等於沒學過數位邏輯。若要將先前推導的布林函數化為具體的元件或產品 , 就必須利用邏輯閘將電路圖畫出來。

57

Page 58: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-1 AND 閘

AND 閘 (AND Gate) 是執行 AND 運算的數位電路。可接受兩個 (含 ) 以上的輸入 , 但是只產生一個輸出 , 唯有全部的輸入皆為 1, 輸出才會是 1 ;否則輸出都是 0 。

AND 閘的邏輯符號、布林函數和真值表如下:

58

Page 59: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-2 OR 閘

OR 閘 (OR Gate) 是執行 OR 運算的數位電路。可接受兩個 (含 ) 以上的輸入 , 但是只產生一個輸出 , 唯有全部的輸入皆為 0, 輸出才會是 0 ;否則輸出都是 1 。

OR 閘的邏輯符號、布林函數和真值表如下:

59

Page 60: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-3 NOT 閘

NOT 閘 (NOT Gate) 是執行 NOT 運算的數位電路。只接受一個輸入 , 產生一個輸出 , 輸入與輸出的邏輯狀態必定相反。若輸入是 1, 則輸出是 0 ;若輸入是 0, 則輸出是 1 。因為這種特性 , NOT 閘也被稱為反相器 (Inverter) 。

NOT 閘的邏輯符號、布林函數和真值表如下:

60

Page 61: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-4 XOR 閘

XOR 閘 (XOR Gate) 是執行 XOR 運算的數位電路 , 所謂的 XOR 運算 , 以兩個輸入為例 , 可以說是『同性相斥』 , 當兩個輸入訊號相同時 , 輸出便是 0 ;否則輸出便是 1 。通常用 ⊕ 代表 XOR 運算符號。

XOR 閘可接受兩個 (含 ) 以上的輸入 , 但是只產生一個輸出 , 若有奇數個輸入為 1, 輸出才會是 1 ;否則輸出都是 0 。

XOR 閘的邏輯符號、布林函數和真值表如下 ( 以兩個輸入為例 ) :

61

Page 62: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

XOR 閘

XOR 運算的特色是『與同一個二元常數做兩次 XOR 之後 , 即恢復原值』。舉例說明如下:

62

Page 63: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

XOR 閘

這個特性經常被應用在『加密與解密』的場合:加密代表將資料與密碼做一次 XOR 運算 , 而解密時則是將加密後的資料 , 與相同的密碼再做一次 XOR 運算 , 如此便回到原先未加密的狀態。

63

Page 64: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-5 NAND 閘

NAND 閘 (NAND Gate) 是執行 NAND 運算的數位電路 , 所謂的 NAND 代表 NOT 運算加上 AND 運算 , 也就是先執行 AND 運算 , 再將所得的結果做 NOT 運算。由於 AND 閘必須在所有輸入皆為 1, 輸出才為 1, 而 NAND 又將這個輸出再做一次 NOT 運算 , 所以我們可以推導出 NAND 閘唯有在所有輸入皆為 1 時 , 輸出才為 0 ;否則輸出一律是 1, 其邏輯符號、布林函數與真值表如下:

64

Page 65: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NAND 閘

因為只要利用 NAND 閘 , 我們就可以模擬出 AND、 OR 和 NOT 三種邏輯閘 , 所以 NAND 閘又被稱為萬用邏輯閘 (Universal Gate) , 以下列出其模擬方式:

65

Page 66: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NAND 閘

66

Page 67: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NAND 閘

67

Page 68: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

6-2-6 NOR 閘

NOR 閘 (NOR Gate) 是執行 NOR 運算的數位電路 , 所謂的 NOR (NOTOR) 運算 , 就是先執行 OR 運算 , 再將所得的結果做 NOT 運算。由於 OR 閘必須在所有輸入皆為 0, 輸出才為 0, 而 NOR 又將這個輸出再做一次 NOT 運算 , 所以我們可以推導出 NOR 閘唯有在所有輸入皆為 0 時 , 輸出才為 1 ;否則輸出一律是 0, 其邏輯符號、布林函數與真值表如下:

68

Page 69: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NOR 閘

69

Page 70: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NOR 閘

如同 NAND 閘 , 我們利用 NOR 閘就可以模擬出 AND、 OR 和 NOT 三種邏輯閘 , 所以 NOR 閘也被視為萬用邏輯閘 , 以下列出其模擬方式:

70

Page 71: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

NOR 閘

71

Page 72: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

課後練習

1.試將十進位中的 0 ~ 15 分別以二進位、八進位、十六進位等數字系統來表示。

2. 請說明常見的 3 種負數表示法 , 及不同之處。

3.目前最常使用的英文編碼系統有哪 3 種?並簡述其不同之處。

4. 請說明 Unicode 碼產生的背景及優點。

72

Page 73: 計算機概論 1001 課後輔導教材 單元 2 : 數字系統及數位邏輯

課後練習

73

5.以真值表證明 X X' = 1⊕ 。6.以真值表證明 X X = 0⊕