1、3.1 十進制、二進制和十六進制數系,在日常生活中,我們常用十進制數系(基底為 10) 來進行計算。 電腦系統會採用二進制數系( 基底為 2) 來表示和處理數據。 電腦系統與程序編寫員之間的溝通使用十六進制數系( 基底為 16)。,3.1 十進制、二進制和十六進制數系,數值 0 至 9 於十進制、二進制和十六進制的不同表示方法,3.1 十進制、二進制和十六進制數系,數值 10 至 15 於十進制、二進制和十六進制的不同表示方法,3.1 十進制、二進制和十六進制數系,數值 0 至 15 於十進制、二進制和十六進制的不同表示方法,3.2 數系轉換,由二進制或十六進制轉換為十進制 透過計算二進制數或
2、十六進制數的位值,我們便可以找出相應的十進制數值。,由二進制轉換成十進制,由十六進制轉換為十進制,3.2 數系轉換,由二進制或十六進制轉換為十進制 由二進制轉換成十進制 在二進制數系中,只用數字 0 和 1。 二進制數 10112 的展開式是:因此,10112 = 1 23 + 0 22 + 1 21 + 1 20= 1110,3.2 數系轉換,由二進制或十六進制轉換為十進制 由十六進制轉換為十進制 在十六進制數系中,數值會用 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 來表示。 A、B、C、D、E 和 F 分別代表 10、11、12、13、14 和15。 十六進制數 2C
3、A916 的展開式是:因此,2CA916 = 2 163 + C 162 + A 161 + 9 160= 1143310,3.2 數系轉換,由十進制轉換為二進制或十六進制 要把十進制數轉換為其他進制(假設基底為 b的數系,可依以下的步驟:1. 把十進制數不斷除以 b,直至商小於 b。2. 把商和從後算起的餘數連起來。,3.2 數系轉換,由二進制轉換為十六進制 要把二進制數轉換為十六進制數,可依以下的步驟:1. 把二進制的數字從右算起,每四個數字為一組。2. 把各組二進制數分別轉換為十六進制數。,3.2 數系轉換,由十六進制轉換為二進制 要把十六進制數轉換為二進制數,可依以下的步驟:1. 把每
4、個數字轉換為一組四個數位的二進制數。2. 把各組二進制數順序組合起來。 使用二進制數系的問題是數位過於冗長。例如: 表達一個十進制數 202 需要八個數位的二進制數,令人難於閱讀和 記憶。 採用十六進制是因為十六進制數較二進制數簡潔,而且這兩個數系之間容易互相轉換。,3.2 數系轉換,由十六進制轉換為二進制 要把十六進制數轉換為二進制數,可依以下的步驟:1. 把每個數字轉換為一組四個數位的二進制數。2. 把各組二進制數順序組合起來。 使用二進制數系的問題是數位過於冗長。例如: 表達一個十進制數 202 需要八個數位的二進制數,令人難於閱讀和 記憶。 採用十六進制是因為十六進制數較二進制數簡潔,
5、而且這兩個數系之間容易互相轉換。,3.3 電腦系統中的數據表達,二進制數系 是電腦用來貯存數字和進行計算的數系。 位元、字節和字 位元 是電腦系統貯存數據的基本單位。 每個位元只可表示兩個不同的數值。例如: 0 或 1、對或錯,以及開或關。 一連串位元則可以表示更多不同的數值。例如: 一個 8 位元的二進制數可以貯存256 個不同的數值。 一個n 位元的二進制數能表示 2n 個不同的數值。,3.3 電腦系統中的數據表達,位元、字節和字 字節 電腦最常用的數據單位。 包含 8 個位元,是微處理器中最小的可尋址單元。,數據的單位,3.3 電腦系統中的數據表達,位元、字節和字 字 現代的電腦可同時處
6、理兩個或以上字節的數據。 電腦所使用的數據的自然單位稱為字。 字長的單位是位元。 現時的電腦字長通常為 16、32 或64 位元。,3.3 電腦系統中的數據表達,無符號二進制整數的表達 無符號整數是一種不包含正負符號的整數。 人口或書籍的銷量等非負整數均可利用無符號整數來表達。 字的所有位元均可用來貯存數值。,3.3 電腦系統中的數據表達,無符號二進制整數的表達,在不同字長下,無符號二進制整數的最小值和最大值,3.3 電腦系統中的數據表達,有符號二進制整數的表達 兩種用來表示有符號二進制整數的常見方法:,符號及值,二補碼,3.3 電腦系統中的數據表達,有符號二進制整數的表達 符號及值 字的最左
7、方的位元稱為符號位,可用來指明二進制整數的正負。 符號位: 0:正整數 1:負整數 其他的位元則用來貯存二進制整數的數值。,3.3 電腦系統中的數據表達,有符號二進制整數的表達 符號及值,在不同字長下,以符號及值表示的二進制整數的最小值和最大值,3.3 電腦系統中的數據表達,有符號二進制整數的表達 符號及值 這種表示法的缺點是0 共有兩種表達方式: 在 8 位元下,1000 00002 和 0000 00002 的數值都是0。 這種表示法很少被電腦系統所使用。,3.3 電腦系統中的數據表達,有符號二進制整數的表達 二補碼 所有的整數都有唯一的表達方式。,4 位元的二補碼整數的例子,3.3 電腦
8、系統中的數據表達,有符號二進制整數的表達 二補碼 正整數與原來的二進制數完全相同。 要計算負整數: 從相應的二進制正整數開始,把位元中所有的0轉換為1, 並把所有的1轉換為0,其結果稱為一補碼。 把一補碼加一,得到二補碼。 以上的步驟也可用來把一個二補碼的負整數轉為正整數。,3.3 電腦系統中的數據表達,在不同字長下,二補碼的最小值、最大值以及相應的十進制數值,有符號二進制整數的表達 二補碼,3.3 電腦系統中的數據表達,在不同字長下,二補碼的最小值、最大值以及相應的十進制數值,有符號二進制整數的表達 二補碼,3.4 不同數系的加法和減法,無符號整數的加法和減法 十進制以外的數系的無符號整數的
9、加法和減法的運算,與十進制的大致相同。 兩個數位的和等於或大於基底便要進位。 較小的數減較大的數便需要借位。,3.4 不同數系的加法和減法,無符號整數的加法和減法 上溢錯誤 當結果超出數位所能表達的範圍時,便會發生錯誤。例如:,1111 0000 + 0001 11001 0000 1100,上溢錯誤的例子,進位不能貯存在結果的位元樣式中。,借位出現在最左方的位元。,3.4 不同數系的加法和減法,二補碼的加法和減法 無論符號位的值是甚麼,二補碼的加法與無符號二進制整數的 加法相同。 當兩個正負號相同的數字相加,而結果為相反符號時,便表示 上溢錯誤發生。,3.4 不同數系的加法和減法,二補碼的加
10、法和減法 無論符號位的值是甚麼,二補碼的加法與無符號二進制整數的 加法相同。 當兩個正負號相同的數字相加,而結果為相反符號時,便表示 上溢錯誤發生。,3.5 字符編碼系統,除了數字數據外,電腦亦需要貯存或處理其他字符的數據。 字符編碼系統可讓電腦更有效地運用字符。,3.5 字符編碼系統,美國信息交換標準碼 (ASCII) 兩種常用的字符編碼系統: 美國信息交換標準碼(ASCII) 擴充二 / 十進制交換代碼(EBCDIC) 每個碼對應一個可打印或不可打印的字符(例如:行尾碼)。 每個標準的 ASCII 碼用 7 位元代表一個字符,即可用以表達 27 (即128) 個不同的字符, 包括所有大小楷
11、的英文字母、數字 0 至 9 以及其他的符號。,3.5 字符編碼系統,美國信息交換標準碼 (ASCII),ASCII 編碼表,3.5 字符編碼系統,美國信息交換標準碼 (ASCII),ASCII 編碼表,3.5 字符編碼系統,美國信息交換標準碼 (ASCII)一般會在ASCII 碼的首個位元之前加上0,以8 位元來表示 一個ASCII 碼。,ASCII 編碼表,3.5 字符編碼系統,中文字符編碼系統 標準的ASCII 碼只可表達128 個字符。 擴充的ASCII 碼則可表達256 個字符。 單是中文字符便約有十萬個,其中超過一萬個是常用的。 中文字符一般採用: 大五碼 國標碼 統一碼,3.5
12、字符編碼系統,中文字符編碼系統 大五碼:繁體中文 國標碼:簡體中文 兩種編碼系統都是用兩個字節來表達一個中文字符。 若一個中文文本檔案用了錯誤的編碼系統,就會出現一些無意義的亂碼。,3.5 字符編碼系統,中文字符編碼系統,以大五碼和國標碼編碼的字符例子,3.5 字符編碼系統,統一碼 被廣泛用於表示世界各地的文字。 可表達一組約 100,000個字符。 表達方式稱為碼位,其長度是可變的。 可由 1 至 4 字節組成。 碼位被仔細地定義,將最常用的字符(例如 ASCII 碼 )放在編碼表的前方。 這些字符可以 1 個字節的碼位來表達。,3.5 字符編碼系統,統一碼,統一碼的例子,3.5 字符編碼系統,統一碼,統一碼的例子,