Upload
emmanuel-kline
View
66
Download
0
Embed Size (px)
DESCRIPTION
第 5 章 數字系統與資料表示法. 本堂課重點. 5-1 認識數字系統 5-2 數字系統間的轉換 5-3 負數的表示 5-4 浮點數的表示法 5-5 文字的表示法. 5- 1 認識數字系統. 5-1-1 為什麼要有數字系統 5-1-2 常見的數字系統. 5-1-1 為什麼要有數字系統. 全世界各地有許多不同的語言在使用 , 例如中文、英文、日文 ……, 不知您是否曾想過:為什麼要有 “ 語言 ” 的產生呢?其答案是為了方便彼此溝通。例如 屬於不同地方的兩個人碰面了 , 他們就必須有一個共同瞭解的語言才能溝通 。 - PowerPoint PPT Presentation
Citation preview
著作權所有 © 旗標出版股份有限公司
本著作含書附光碟之內容 ( 不含 GPL 軟體 ) ,僅授權合法持有本書之讀者(包含個人及法人)非商業用途之使用,切勿置放在網路上播放或供人下載,除此之外,未經授權不得將全部或局部內容以任何形式重製、轉載、散佈或以其他任何形式、基於任何目的加以利用。
第 5 章 數字系統與資料表示法
2
本堂課重點 5-1 認識數字系統 5-2 數字系統間的轉換 5-3 負數的表示 5-4 浮點數的表示法 5-5 文字的表示法
3
5- 1 認識數字系統 5-1-1 為什麼要有數字系統 5-1-2 常見的數字系統
5-1-1 為什麼要有數字系統 全世界各地有許多不同的語言在使用 , 例如中文、英文、日文…… , 不知您是否曾想過:為什麼要有 “語言” 的產生呢?其答案是為了方便彼此溝通。例如屬於不同地方的兩個人碰面了 , 他們就必須有一個共同瞭解的語言才能溝通。
在電腦裡 , 有二進位 (Binary) 、八進位 (Octal) 、十進位 (Decimal) 、十六進位 (Hexadecimal) 等各種不同的數字系統 (Number System), 這些數字系統也都是為了方便溝通使用。
4
5-1-2 常見的數字系統 常見的數字系統 :
十進位數字系統:十進位是一套以 10 為基數 , 逢 10 即進位的數字系統
二進位數字系統:二進位是一套以 2 為基數 , 逢 2 即進位的數字系統
八進位數字系統:八進位是一套以 8 為基數 , 逢 8 即進位的數字系統
十六進位數字系統:十六進位是一套以 16 為基數 , 逢 16 即進位的數字系統
5
5-2 數字系統間的轉換 5-2-1 轉換數字系統時的基本觀念 5-2-2 二進位與十進位間的轉換 5-2-3 八進位與十進位間的轉換 5-2-4 十六進位與十進位間的轉換 5-2-5 八進位與二進位間的轉換 5-2-6 十六進位與二進位間的轉換 5-2-7 十六進位與八進位間的轉換
6
5-2 數字系統間的轉換 由於電腦內部是以二進位 形式來處理資料 , 所以當 我們輸入資料時 , 電腦會 自動將它轉換成二進位 的形式。
7
5-2-1 轉換數字系統時的基本觀念 我們先用最熟悉的十進位數字系統來說明:
8
對於任何十進位的正數 N, 假設包含 p 位整數和 q 位小數 , 則一定可用此多項式來表示:
5-2-1 轉換數字系統時的基本觀念 將以上的觀念擴展到 K 進位的數字系統 , 則成為 ( 將 10 換成 K) :
9
N 為 K 進位的正數 , p=整數的位數 , q=小數的位數
5-2-2 二進位與十進位間的轉換 二進位轉換成十進位
二進位轉換成十進位時 , 其二進位整數部份 , 在小數點左邊第一位的位值為20、第二位的位值為 21、第三位的位值為22...;而小數部分 ,在小數點右邊第一位的位值為 2-1、
第二位的位 值為 2-2 ...
依序類推。
10
5-2-2 二進位與十進位間的轉換 要將其轉為十進位 , 只要將每一個二進位數乘以該數的位值 , 然後相加即可獲得相對應的十進位數值:
11
5-2-2 二進位與十進位間的轉換 十進位轉換成二進位
整數部分 採連續除以 2 , 並保留 「餘數」 , 直到除法運算後的商數為 0 時停止;然後由最後一次產生的餘數開始 ,
依序由左向 右排列 , 即 可完成整數 部分的轉換 。
12
5-2-2 二進位與十進位間的轉換 小數部分
將小數部份乘以 2 , 保留所得乘積的 「整數部分」 , 繼續將乘法運算後所得的小數部分乘以 2 , 直到所得的小數為 0 時停止;然後由第一次取得的整數開始 ,
依序由左向 右排列 , 即 可完成小數 部分的轉換。
13
5-2-3 八進位與十進位間的轉換 八進位轉換成十進位
以 (127.3)8 轉換成十進位來做示範:
14
5-2-3 八進位與十進位間的轉換 十進位轉換成八進位
以 (87.375)10 來示範 整數部份
5-2-3 八進位與十進位間的轉換 小數部份
16
– 最後將整數部份加上小數部份: 127 + 0.3 = 127.3 。所以 (87.375)10 = (127.3)8
5-2-4 十六進位與十進位間的轉換 十六進位轉換成十進位
我們以 (BCE.1E)16轉換成十進位來做示範:
17
5-2-4 十六進位與十進位間的轉換 十進位轉換成十六進位
以 (43969.71875)10 轉成十六進位來做示範
整數部份
5-2-4 十六進位與十進位間的轉換 小數部份
19
– 最後將整數部份加上小數部份: ABC1+ 0.B8 = ABC1.B8 。所以 (43969.71875)10 = (ABC1.B8)16
5-2-5 八進位與二進位間的轉換
20
5-2-5 八進位與二進位間的轉換 二進位轉換成八進位
以 (11100001110.101)2 轉換成八進位來做示範:
5-2-5 八進位與二進位間的轉換 八進位轉換成二進位
以 (3416.5)8轉換成二進位為例來做示範:
22
5-2-6 十六進位與二進位間的轉換
23
5-2-6 十六進位與二進位間的轉換 二進位轉換成十六進位
以 (1011111001.0011101)2 轉換成十六進位來做示範:
24
5-2-6 十六進位與二進位間的轉換 十六進位轉換成二進位
以 (2F9.3A)16 轉換成二進位為例來做示範:
5-2-7 十六進位與八進位間的轉換 八進位轉換成十六進位
以 (346.7)8 轉換成十六進位為例來做示範:
26
5-2-7 十六進位與八進位間的轉換 十六進位轉換成八進位
以 (E6.E)16 轉換成八進位為例來做示範:
5-3 負數的表示法 5-3-1 最高位元表示法 5-3-2 1 的補數表示法 5-3-3 2 的補數表示法
28
常見的表示法有以下三種: 最高位元表示法 ( 也稱為附加符號表示法 ) 1 的補數表示法 2 的補數表示法
5-3-1 最高位元表示法
29
5-3-2 1 的補數表示法 使用 1 的補數 (1's Complement) 表示法
時 , 一個數的負數即是將該數的每一位元數值 0 、 1 互換 ( 即 1 變 0, 0 變 1) 。
5-3-3 2 的補數表示法 在 2 的補數 (2's Complement) 表示法裡 , 一個數的負數即是其 1 的補數值再加 1,
30
5-4 浮點數的表示法 正規化
所謂的正規化 , 是將該數字轉換成二進位的 1.xxxxxx × 2 指數 的形式。
例如要計算 (12.25) 10經正規化的結果 , 需先將其轉換為二進位 (12.25)10 =(1100.01)2 , 再正規化成 1.10001 × 23。此時 , 1.10001 × 23
可解讀出以下資訊 , 這些資訊將在轉換成浮點數表示法時用到:
此數值為正數。 指數為 3 。 小數部分為 10001 。
31
5-4 浮點數的表示法 浮點數表示法
不同 CPU 雖有其各自的浮點數表示法 , 但一般較常採用 IEEE 協會所訂定的浮點數表示法標準 ( IEEE Standa rd 754), 其分成單精確度 (Single Precision) 及雙精確度 (Double Precision) 二種。
兩者的差別在於單精確度是以 32 個位元來表示浮點數 , 雙精確度則是用 64 位元表示。
32
5-4 浮點數的表示法 浮點數表示法
33
正 / 負符號:表示這個數字是正數還是負數 , 用 0 表示正數 , 1 表示負數。
偏差指數:表示這個數字的指數部分。 小數部份:表示這個數字的小數部分。
5-4 浮點數的表示法 以 (12.25)10為例 , 看看如何以單精確度的浮點數表示法來表示。首先 , 它是個正數 , 所以第一個位元已經確定是 0 。
接著將其正規化成 1.10001 × 23, 此時便可計算出偏差指數為 3 + 127 =130, 再把 130 轉換為長度為 8 位元的二進位 (10000010)2 , 於是可以得到偏差指數的部份就是 10000010 。
34
5-4 浮點數的表示法 最後是小數部份 , 小數部份即是正規化後二進位的小數部份 , 至於小數點前面那個 1, 則因為所有正規化的數字都有 , 所以不用記錄 , 只要顯示後面的小數部份 10001, 但小數共有 23 個位元 , 所以要把後面的位元補上 0 。最後得到的浮點數表示如下:
35
5-5 文字的表示法 將文字資料轉換成二進位碼的系統就稱為編碼系統。
36
5-5 文字的表示法 常用的英文電腦編碼系統
ASCII 碼:是美國標準資訊交換碼 (American Standard Code for Information Interchange) 的縮寫;它不但包含英文大、小寫字母 , 還有阿拉伯數字、控制字元以及各種符號。
ISO8859 碼:由於歐洲地區語系的文字除了 26 個英文字母 ( 也就是拉丁字母 ) 外 , 還包含了拉丁字母的變形 ( 例如上下標 ) 與其他字母 (例如希臘字母 ) 等 , 因此 ASCII 碼的 128 個字元顯然不夠用。
37
5-5 文字的表示法 EBCDIC 碼: EBCDIC 碼的全名是
Extended Binary Code Decimal Interchange Code, 是美國 IBM 公司所制定的編碼系統 , 主要使用在 IBM 一部份大型主機上。
38
5-5 文字的表示法 常用的中文電腦編碼系統
Big5 碼:由資策會工業局聯合 13 家業者於 1984 年所共同制定的編碼系統 , 包含了 5401 個常用字、 7652 個次常用字及 408 個符號 ( 含標點符號、注音符號、單位符號…… ), 共 13461 個字。
CP950 碼: CP950 (CodePage 950) 碼也稱為 MS950 碼 , 由微軟公司所發展 , 從 Big5 碼擴充而來的 , 其應用於微軟的 Windows 作業系統中。
39
全球統一的編碼系統 它是由 Unicode 協會及 ISO 國際標準化組織針對各國文字、符號制定的統一性編碼系統 , 將全球語言編在一起 , 而達成統一編碼的目的。
40