第 5 章 數字系統與資料表示法

35
Introduce to Computer Science 計計計 計計 1 計 5 計 計計計計計計計計計計 Ren-Jie Wang 計計計 , Ph.D. [email protected] http://home.scs.ntit.edu.tw/rjwang /

Upload: peta

Post on 21-Jan-2016

86 views

Category:

Documents


0 download

DESCRIPTION

第 5 章 數字系統與資料表示法. Ren-Jie Wang 王仁傑 , Ph.D. [email protected] http://home.scs.ntit.edu.tw/rjwang/. 學習目標. 數字系統的種類 數字系統間的轉換 負數的表示法 常見的英文與中文電腦編碼系統 詳細課程內容請參閱教科書. 5-1 認識數字系統. 5-1-1 為什麼要有數字系統 人類以「十進位系統」來表示數值大小 ; 電腦用「二進位」、「八進位」、「十六進位」來表示資料。 5-1-2 常見的數字系統 十進位 二進位 八進位 十六進位. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

1

第 5 章數字系統與資料表示法

Ren-Jie Wang 王仁傑 , Ph.D. [email protected]

http://home.scs.ntit.edu.tw/rjwang/

Page 2: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

2

學習目標 數字系統的種類 數字系統間的轉換 負數的表示法 常見的英文與中文電腦編碼系統

詳細課程內容請參閱教科書

Page 3: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

3

5-1 認識數字系統 5-1-1 為什麼要有數字系統

人類以「十進位系統」來表示數值大小 ; 電腦用「二進位」、「八進位」、「十六進位」來表示

資料。 5-1-2 常見的數字系統

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

Page 4: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

4

為什麼要有數字系統 二進位 :

以 "1" 代表開 ( 向上 ), 以 "0" 代表關 ( 向下 )

以 “ 1” 代表有電 以 “ 0” 代表沒電

Page 5: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

5

為什麼要有數字系統 二進位並不是很適合人類閱讀

有沒有人能很快的讀出下面這 2 種設定有何不同 ?

Page 6: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

6

為什麼要有數字系統 這時候若用十六進位的方法來表示 , 就容易閱讀些:

Page 7: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

7

常見的數字系統 十進位數字系統:

由 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 等十個數元 ( 滿十 ,進位 )

是目前人類世界中最被廣泛採用的一套系統 二進位數字系統:

用 0 和 1 兩種數元所組成 ( 滿二 , 進位 ) 八進位數字系統:

用 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 等八種數元 ( 滿八 , 進位 ) 十六進位數字系統:

由 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 、 A 、 B 、 C 、 D 、E 、 F 等十六個數元所組成 ( 滿十六 , 進位 )

Page 8: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

8

常見的數字系統

Page 9: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

9

常見的數字系統

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

Page 10: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

10

5-2 數字系統間的轉換 分成以下三類轉換 : ( 獨門祕方 )

Ⅰ :  ( 二、八、十六 ) 轉 十進位

Ⅱ : 十進位 轉  ( 二、八、十六 )

Ⅲ :  ( 二、八、十六 )  互轉

2, 8,16

10

2, 8,16

10

8

162

Page 11: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

11

5-2-1 轉換數字系統時的基本觀念 數字大小是用「加權法」來計算

位值

先用最熟悉的十進位數字系統來說明:

Page 12: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

12

Ⅰ :  ( 二、八、十六 ) 轉 十進位

用「加權法」

2, 8,16

10

Page 13: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

13

Page 14: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

14

隨堂練習1. (1011.1)2 = ( )10

2. (1011.1)8 = ( )10

3. (1011.1)16 = ( )10

4. ( 1 ) 十進制數值 50.875 以二進制數值表示, 下列哪一項是正確? 110010.111 110010.110 110100.111 110100.110 。 [ 網頁設計丙檢 ]

Page 15: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

15

Ⅱ : 十進位 轉  ( 二、八、十六 )

整數—除 採連續除以 基底 , 並保留 『餘數』 , 直到除法運算後

的商數為 0 時停止;然後由最後一次產生的餘數開始 , 依序由左向右排列 , 即可完成整數部分的轉換。

2, 8,16

10

Page 16: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

16

整數—除以 29.25=( )2 為例

Page 17: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

17

十進位轉換成二進位 小數—乘

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

Page 18: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

18

隨堂練習1. (8.5)10 = ( )2

2. (37.75)10 = ( )8

3. (53.8125)10 = ( )16

Page 19: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

19

Ⅲ :  ( 二、八、十六 )  互轉

二進位與八進位:要以 3 個為 1 組來轉換。 二進位與十六進位:要以 4 個為 1 組來轉換。 八進位與十六進位:必須先轉成二進位後再進行轉換。

8

16

2

3

4

Page 20: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

20

例 :

同理 ,

Page 21: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

21

隨堂練習1. (35.2)8 = ( )2

2. (3642.447)8 = ( )2

3. (11001.11101)2 = ( )8

4. (100110.101)2 = ( )8

Page 22: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

22

二進位轉換成十六進位 例 2:

同理 ,

Page 23: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

23

隨堂練習1. (A5.C)16 = ( )2

2. ( 2 ) 二進制數值 1011011111001110 以十六進制數值表示,下列哪一項是正確的? C7BE B7CE B9CE C8EF 。 [ 網頁設計丙檢 ]

3. ( 4 ) 二進位數值 10100101 轉換為十六進位時, 下列哪一項是正確的? B9 B5 A8 A 5 。 [ 網頁設計丙檢 ]

Page 24: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

24

八進位轉換成十六進位 八進位與十六進位:必須先轉成二進位後再進行轉換。 例 3 :

同理

Page 25: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

25

隨堂練習1. (37.6)8 = ( )16

2. (3F.4)16 = ( )8

Page 26: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

26

5-3 負數的表示法 對人而言 , 負數就是在正數的前面加上『-』符號即可;但是對電腦而言 , 並無眼睛可辨識正負符號。

因此 , 我們必須制定一套讓電腦能夠辨識負數的表示法 , 常見的表示法有以下三種: 最高位元 (Signed Magnitude) 表示法 1 的補數 (1's Complement) 表示法 2 的補數 (2's Complement) 表示法

Page 27: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

27

1 的補數表示法 使用 1 的補數 (1's Complement) :

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

Page 28: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

28

1 的補數表示法 1 的補數表示法與最高位元表示法有同樣的缺點 , 也有 2

個 0 (00000000 與 11111111), 因此在實際上 , 較少電腦系統採用此法。

實際被使用的是 2 的補數表示法。

Page 29: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

29

2 的補數表示法 在 2 的補數 (2‘s Complement) : 速求法

從右往左抄到第一個” 1” 其他 , “0” ←互換→ ” 1”

Page 30: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

30

隨堂練習1. ( 2 ) 2 進位數值 11000101 之 2 的補數為下列何者?

11001010 00111011

00110101 00111010 。 [ 網頁設計丙檢 ]2. ( 2 ) 2 進位數值 11001101之 1 的補數為何者?

11000010 00110010

00110011 000110010 。 [ 網頁設計丙檢 ]

Page 31: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

31

文字的表示法 我們把每一個英文字母編上一個號碼 , 建成一套編碼表。

例如按下 [A] 鍵 , 鍵盤便會把其相對應碼 65 的二進位數 01000001 傳到主機 ) 。

Page 32: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

32

常用的英文電腦編碼系統 由於 8 個位元可以表示出 28 = 256 種資料 , 因此在 PC 上又將

ASCII 碼擴充 , 多了 128 個擴充符號字元 (號碼為 128 ~ 255), 可用來繪製表格的格線 , 或印出特殊的字母、符號等。

Page 33: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

33

常用的中文電腦編碼系統 Big5 碼是台灣常用的中文編碼系統 , 雖然已收錄了 13461 個常

用字 , 但卻沒有一些比較罕見的字 , 例如大家在看網頁時 , 有時會發現游錫 "堃 " 的 "堃 " 字,以及王建 "煊 " 的 "煊 " 字無法顯示 , 這都是因為 Big5 碼沒有這 2 個字所致。

Page 34: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

34

全球統一的編碼系統 例如我們平時在瀏覽網頁或收信時 , 有時就會發現網頁或信的

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

Page 35: 第  5  章 數字系統與資料表示法

Introduce to Computer Science 計算機概論

35

全球統一的編碼系統 為了解決這樣的問題 , 於是出現了 Unicode 碼 ( 統一碼、

標準萬國碼 ) 。