課程名稱:計算機概論 授課老師:李春雄 博士

Slides:



Advertisements
Similar presentations
我的 动 堂天 漫 制作人: 13312—22 青春 情感 悬疑推理 魔 法 系 列 动 漫系 列 动 漫 之.
Advertisements

汇编语言 程序设计 第 1 章 基础知识 第 1 章 基础知识 ◆ 汇编语言程序设计概述 ◆ 进位计数制及其相互转换 ◆ 计算机中数的表示 ◆ 计算机中字符的表示 汇编语言程序设计概述 进位计数制及其相互转换 计算机中数的表示 计算机中字符的表示.
1 1.2 信息的表示与存储  数据:数据是对客观事物的符号表示。 如,数值、文字、语言、图形、图像等都是不同形 式的数据。  信息:信息是既是对客观事物变化和特征的反映,又 是事物之间相互作用、相互联系的表征。 信息必须数字化编码,才能用计算机进行传送、存 储和处理。 信息具有针对性和时效性。
2015退伍士兵焊工专业 第一学期 课程名称:计算机基础(一).
第2章 數位資料表示法 2-1 資料型態 2-2 二進位表示法 2-3 各種進位表示法的轉換 2-4 整數表示法 2-5 浮點數表示法
大学计算机基础 山东大学计算机学院 张鹏 高等学校计算机公共教学改革与实践 大学计算机基础 山东大学计算机学院 张鹏
第四章 工业地域的形成与发展 第一节 工业的区位选择.
第3课 收复新疆.
汉字编码 汉字编码.
5.1 文本与文本处理 5.2 图像与图形 5.3 数字声音及应用 5.4 数字视频及应用
计算机应用基础 计算机基础知识.
第十一单元 第24讲   第十一单元 世界经济的全球化趋势.
情緒行為障礙之教學與輔導 新竹縣情緒障礙巡迴教師 陳弘念.
消防知识培训.
西元208年的赤壁之戰,是曹操、孫權和劉備在長江沿岸進行的一場會戰,對於三國鼎立局面的形成具有決定性影響。
市八中学 胡亮平 办公室:F504 高中信息科技 市八中学 胡亮平 办公室:F504
第五冊 第九課 李 家 寶 朱天心.
软件测试 第3章 黑盒测试及其用例的设计.
2.3 信息表示与编码 所谓编码,就是利用数字串来标识所处理对象的不同个体。
计算机基础.
第二章 计算机信息处理技术 数据是指能够由计算机处理的数字、字符和符号等。 数值数据:用数字符号表示,如1,2,….
2006年台灣醫學中心大搜查 聰明病人 完全就醫指南.
9.1 抽签的方法合理吗.
第二章 數字系統:電腦內部的資料表示法 在第一章中,我們對於電腦有了初步的認識,在深入介紹電腦的各項組成元件之前,首先我們必須先了解另一種不同於人類使用習慣的二進位表示法,由於電腦的半導體、磁性、光學元件適合用來表示二進位,因此二進位表示法非常適合用來設計電腦。
计算机与信息技术应用基础 徐东雨 计算机中心
湖北武当山.
第一章 信息技术与 计算机文化 潍坊医学院 第一章信息技术与计算机文化.
第二章 计算机基础知识 2.1 计算机系统的组成与工作原理 2.2 数制转换及运算 2.3 数据在计算机中的表示.
《计算机操作员》精品 课件 淮南市潘集职教中心
數字系統與資料表示法 電腦的基本單位 數字系統 數值資料表示法 數值資料與算數運算 數碼系統 浮點數表示法 文字表示法 資料來源:周裕達教授.
2012版中考二轮复习历史精品课件北师大版 (含2011中考真题) 专题五世界近代史
数字电路与逻辑设计 任课教师:刘毅 博士/副教授 单位:西安电子科技大学ISN国家重点实验室
中文輸入 拼音輸入法 拆字輸入法 綜合拼音與拆字輸入法 中文手寫輸入法 掃描、中文圖形輸入: 語音輸入法: 微軟新注音、自然輸入法
Visual Basic 6.0 學習範本 第三章 基本資料型態.
資料表示法與數字系統 主講:顧叔財 資料來源: 計算機概論.
A3-1 數字系統 A3-2 資料表示法 A3-3 資料的儲存
计算机文化基础 第一章 计算机的基础知识.
精進教師研習 QR Code製作教學 資料來源:
一、實習目的 1、瞭解二進制計數器的原理。 2、瞭解同步計數器、非同步計數器之差異及其使用方式。 3、瞭解N模數計數器的設計。
第1章 微型计算机基础知识 【本章重点】微型计算机的组成和各部分的作 用,以及计算机中数的表示方法。
文字資料表示法 & 布林代數與數位邏輯.
預官考試輔導 計算機概論提要 91年12月4日.
數位邏輯與實習 曾建勳 Week 2.
微机原理电子教案 微机原理电子教案.
電腦的硬體架構.
第1章 计算机基础知识 1.1 概述 1.2 计算机的系统组成 1.3 数据在计算机中的表示与存储 1.4 微型计算机系统的维护
6-1 資料表示法簡介 6-2 數值表示法 6-3 數字系統介紹 6-4 數字系統轉換方式
计算机组成原理 The Principle of Computer
IT&SAMS小組 (IIT - 倉頡輸入法)
Computer Inside/Outside
第一章 微型计算机基础知识.
宣城职业技术学院 项目一 了解计算机文化 计算机教研室 院级精品课程.
任务一:初识计算机 任务二:学习计算机中的信息表示 P /4/7.
计算机原理及系统结构 第六讲 主讲教师:赵宏伟                 学时:64.
第1章 数制与编码 1.1 数制 1.2 编码.
2-1 數位化概念 2-2 資料的數位化 ※ 2-3 基本數位邏輯處理
数字电子技术 Digital Electronics Technology
數字系統 資訊工程系 國立清華大學資訊基礎教育 教學改進計畫 數字系統 資訊工程系 /4/22.
數位邏輯設計與實習 主講者:杜勇進.
结束 放映 1.1 数制及编码 数制及其转换 编码 返回 2019/5/1.
数字电子技术 电子教案 章洁.
第1章 数制与编码 1.1 数制 1.2 编码.
學生:吳星龍 班級:資管二乙 指導老師:劉書彥
C++语言程序设计 第一章 绪论 成都信息工程学院计算机系.
第四章 图元的属性.
國立成功大學化工系 鄭智元副教授 研究室 Tel: 62664
第一章 数字逻辑基础 1.1 模拟信号与数字信号 1.2 数字电路 1.3 数制 1.4 二进制编码.
第一章 有關電腦.
第二章 计算机中的信息表示.
专题八 欧美代议制的确立与发展 (17—19世纪) 英    美 法 德 选修:日本 俄国.
Presentation transcript:

課程名稱:計算機概論 授課老師:李春雄 博士 第二章 數字系統與資料表示法 課程名稱:計算機概論 授課老師:李春雄 博士

本章學習目標 讓讀者了解基本單位、數字系統及各種數字 系統的轉換方法。 2.讓讀者了解補數系統、資料表示法及資料檢查 方法。

本章內容 2-1 電腦的基本單位 2-2 常見的數字系統 2-3 數字系統的轉換方法 2-4 數字系統的四則運算 2-5 補數系統 2-6 資料表示法 2-7 數值資料表示法 2-8 文數資料 2-9 中文碼 2-10 資料檢查方法 2-11 誤差與錯誤的種類

2-1 電腦的基本單位 在電腦硬體中,任一條電路只要能導電就利用1來表示,而不能導電則利用0來表示。因此,0與1就構成電腦的基本單位,我們稱它為位元(bit)。所以,在電腦系統中,只有0與1兩種不同的狀態,因此,我們就稱為「二進位」數字系統。 【圖解】十進位數字37,則二進位則是:100101

【電腦如何表示資料】 一、對電腦系統而言,所有資料利用「數字」表示。 1.數字資料:直接利用「數字」表示。 2.文字資料:利用「數字」來表示。 3.聲音和圖片資料:利用「數字」來表示。 4.程式之指令資料:利用「數字」來表示。 二、對電腦系統而言,這些「數字」都是由0與1所組合。

【電腦的基本單位】 位元(bit, 以小寫b表示) 位元組(byte, 以大寫B表示) 它是利用二進位的0或1來表示電腦的資料。並且是電腦的最小儲存單位。 位元組(byte, 以大寫B表示) 它是將8個位元(bit),組合成一個位元組(byte)。通常用來表示字母、 0~9的數字或符號。如下圖所示:

【記憶體的容量】 【註】若為小寫的b則是bit的意思,而Byte的縮寫為大寫的B。 英文單位 中文名稱 容量(大小) bit 位元 0或1(最小單位) Byte 位元組 1Byte=8bits KB(Kilo Byte) 千個位元組 1KB=1024Bytes MB(Mega Byte) 百萬個位元組 1MB=1024KBytes GB(Giga Byte) 十億個位元組 1GB=1024MBytes TB(Tera Byte) 一兆個位元組 1TB=1024GBytes 【註】若為小寫的b則是bit的意思,而Byte的縮寫為大寫的B。

2-2 常見的數字系統 【引言】 基本上,在我們日常生活當中,每一個人都是習慣使用十進位為數字系統,但是,也可能會遇到「非十進位制」的數字系統。例如:一英呎12英吋,一年12個月屬於十二進位制。一斤等於16兩、一英鎊等於16盎司都屬於十六進位制,一分60秒,一小時60分屬於六十進位制。 【圖示】 月曆 秤 時鍾

本章節學習的課題 在電腦系統中,卻只能以「二進位制」的數字系統作為運算單位。因此,我們想利用電腦來處理「非二進位制」時,就無法直接進行轉換。所以,在本章節中,如何將「非二進位制」數字系統轉換成電腦可以處理數字系統,將是我們所要學習的重要課題。

【二進位制的問題】 雖然電腦是以「二進位制」的數字系統來表示資料,但是,如果以二進位表示「較大的數字」時,不但佔用空間,而且在閱讀上與書寫上都不方便,因此,也常採用八進位及十六進位來表示。 【圖示】旗標開發的Rocar創意教學機器人之「控制器」

【實例】 01001001 0100100101001001 【情況一】機器人的「控制器」只有 8 個開關 【情況二】機器人的「控制器」有16個開關 0100100101001001 從以上兩種情況,我們就可以清楚得知,二進位的表示方式,並不是很適合人類閱讀。 【解決方法】轉換成「非二進位制」。例如:8,10及16進制。 【示意圖】

【作法】 每一個數字系統都有其「基數」,像十進位數的「基底10」,亦即「逢10就進1」的意思。除此之外,當要計算「R進位數」時,則利用0, 1, …, R-1,共R個符號表示所有的數,並且「每逢R就進一位」。 二進位數字系統 八進位數字系統 1. 由0,1二個符號代表所有的數 2. 每逢二就進一位 1. 由0,1,2,3,4,5,6,7八個符號代表所有的數 2. 每逢八就進一位 十進位數字系統 十六進位數字系統 由0,1,2,3,4,5,6,7,8,9十個符號 代表所有的數 2. 每逢十就進一位 由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六個符號 2. 每逢十六就進一位

【表示法】 【註】 在十六進制中: A代表10 B代表11 C代表12 D代表13 E代表14 F代表15

【各種進位基本轉換對照表】

【隨堂抽問1】 請問各位同學,如果使用二進位來記錄學生的成績(0~100)分時,則至少要使用多少位元來表示呢? 【解答】 由於26=64分(代表6個位元最多可以表示到64分) 27=128分(代表7個位元最多可以表示到128分) 因此,至少要7個位元才能記錄學生的成績(0~100)分

【隨堂抽問2】 請問各位同學,2斤15兩,要怎麼算出共有幾兩呢? 【解答】 它的計算方法如下: 2斤15兩=2×161+15×160 =32+15 =47

2-3 數字系統的轉換方法 【引言】 「人類」所使用的數字系統是以「十進制」為主,而「電腦」在處理資料時是以「二進制」(0或1兩種情況)。因此,我們如何把人類所使用的數字系統轉換成電腦所能接受的數字系統,或是把電腦所使用的二進制轉換成人類所習慣的用法,那就必須要學會各種轉換的方法。 【轉換規則示意圖】 【註】R進制是指非10進制的數目系統(2,8,16進制)

【作法】 一、R進制 轉換成10進制 必須展開(亦即乘以基底 (R)的次方)。 (一)當遇到「整數」時,則次方為正數(0 , 1 , 2 .... ) 所以,整數部份,R0、R1、R2、R3…依此類推  (二)當遇到「小數」時,則次方為負數(-1 , -2 ......) 所以,小數部份,1/ R、1/ R2、1/ R3…依此類推 二、10進制轉換成R進制 (一)整數連除R後,再向上取「餘數」。 (二)小數連乘R後,再向下取「整數」。

2-3.1 R進制轉換成10進制 【引言】 基本上,「不是10進制」的數字系統,我們就稱為「R進制」。而在R進制的數字系統中有(2,8,16進制)。因此,如何將R進制轉換成人類可以看得懂的10進制呢?那就必須要學會「展開」的技巧,亦即乘以基底 (R)的次方。 【轉換規則示意圖】

【證明】 10進制自我展開等於本身

【範例一】二進制轉換成10進制

【隨堂練習】

【範例二】八進制轉換成10進制

【隨堂練習】

【範例三】十六進制轉換成10進制

【隨堂練習】

2-3.2 10進制轉換成R進制 【引言】 【轉換規則示意圖】

【範例一】 10進制轉換成2進制(整數連除R) 22 (10) = 10110 (2) 【作法】 10進制轉換成2進制時,則必須「連除」2,直到商數為0,最後, 再向上取「餘數」,即為所得。 【演算過程】

【範例二】 10進制轉換成2進制(小數連乘R) 0.8125 (10) =0. 1101 (2) 【作法】 10進制轉換成2進制時,則必須「連乘」2,直到正整數(亦即沒有小數)為止,最後,再由上往下取「整數」,即為所得。 【演算過程】

【範例三】 10進制轉換成2進制(循環小數) 【演算過程】

【延伸學習】 在上題中,雖然十進位0.2無法精準的轉換成二進位, 但是,在電腦中,我們可以利用「循環小數」來表示 ,因為此種誤差是可以受容許的。除了此題之外, 十進位0.1也是無法精準的轉換成二進位,但是 十進位0.5則可以。

【範例四】 10進制轉換成8進制 35.53125 (10) = 43.42 (8) 【作法】 10進制35.53125想轉換成8進制時,則 整數部份必須「連除」8, 小數部份必須「連乘」8。 【演算過程】

【範例五】 10進制轉換成16進制 3934 (10) =F5E (16) 【作法】 10進制3934想轉換成16進制時,則必須「連除」16,直到商數為0,最後,再向上取「餘數」,即為所得。 【演算過程】

2-3.3 2進制的冪次方的轉換 【引言】 當我們將十進位轉換成二進位表示時,可能會產生一大連串的數字,此時,在表達上某一資料時較不容易。因此,我們透過2進制的冪次方轉換方法,來直接將二進位轉換成八進位及十六進位。 【使用時機】 欲轉換的「等號兩邊的基底」皆為「2的冪次方」時,則可以直接的轉換。

【範例一】 2進制轉換成8進制(整數) 110101 (2) =________(8) 【解析】 判斷8是2的幾次方,也就是寫成8=23,故可以得知8進制是3個為一組的2進制組合而成的。 【演算過程】

【範例二】 2進制轉換成8進制(含有小數) 10 110 111 . 101 100 (2) = ____________ (8) 【演算過程】 【注意】 整數部份:由「小數點左邊第一位」開始計算,每3個一組,如果「不足3個」 時,則「整數」前面補0 小數部份:由「小數點右邊第一位」開始計算,每3個一組,如果「不足3個」 時,則「小數」後面補0

【範例三】 2進制轉換成16進制(整數) 110101 (2)=_________ (16) 【解析】 判斷16是2的幾次方,也就是寫成16=24,故可以得知16進制是4個為 一組的2進制組合而成的。 【演算過程】 【注意】如果「不足4個」時,則「整數」前面補0。

【範例四】 2進制轉換成16進制(含有小數) 1011.0111 (2) =___________ (16) 【演算過程】 【說明】 「整數」部份:由「小數點左邊第一位」開始計算: 數字1011其權位值之和為11轉換成16進制時,就是B。 「小數」部份:由「小數點右邊第一位」開始計算: 數字0111其權位值之和為7轉換成16進制時,也是7。

【隨堂練習】 1011.111 (2) =B.E (16) 【演算過程】

【範例五】 8進制轉換成2進制 65 (8) =________ (2) 【解析】 判斷8是2的幾次方,也就是寫成8=23,故可以得知8進制是3個為一組的2進制組合而成的。因此,一個「8進制」化為三個「2進制」 【演算過程】

【隨堂練習】 246.205 (8) =________ (2) 【演算過程】

【範例六】 16進制轉換成2進制 35 (16) =_________ (2) 【解析】 判斷16是2的幾次方,也就是寫成8=24,故可以得知16進制是4個為一組的2進制組合而成的。因此,一個「16進制」化為四個「2進制」 【演算過程】

【範例七】 非2進制的冪次方的轉換 在等號的左邊其基底為非2進制的冪次方時,則必須要先轉換成10進制,後再轉換成右邊的進制。 45(5)= ___221___(3) 【解析】先將「5進制」進轉換成「10進制」,再轉換成「3進制」 【演算過程】

2-4 數字系統的四則運算 【引言】 在我們學會「數字系統」的各種轉換之後,接下來,我們就可以再學習「數字系統」的四則運算,分別是加、減、乘、除等運算。 一、加法運算 二、減法運算 三、乘法運算 四、除法運算

一、加法運算 【規則】 當「加數」與「被加數」的基底皆相同時,才能直接進行相加,否則必須先經過基底的轉換。當在相加後的「結果」大於或等於R進制時,則必須進位。 (一)第一類:基底皆相同 (二)第二類:基底不相同

(一)第一類:基底皆相同

(二)第二類:基底不相同

二、減法運算 【規則】 1.當「減數」與「被減數」的基底皆相同時,才能直接進行相減,否則 必須先經過基底的轉換。 2.當兩數相減,如果不夠減時,則必須向下一級借位,其借來的值為R, 而下一級被借位的數須減1。 (一)第一類:基底皆相同 (二)第二類:基底不相同

(一)第一類:基底皆相同

(二)第二類:基底不相同

三、乘法運算 【規則】 1.當「乘數」與「被乘數」的基底皆相同時,才能直接進行相乘,否則 必須先經過基底的轉換。 2. 運算過程與10進制相同。

四、除法運算 【規則】 1.當「除數」與「被除數」的基底皆相同時,才能直接進行相除,否則 必須先經過進制的轉換。 2. 運算過程與10進制相同,並且注意借位問題。

2-5 正負數表示法 【引言】 基本上,在前面所介紹的二進制表示法,只能表達正整數,但是,對於負整數而言,卻無法表達。因此,為了讓電腦順利表達負數,數學家提出了許多數值表示法,最常見的正負數表示法有以下三種: 一、帶符號大小 二、1's補數 三、2's補數

【範例】 假設n=4(位數),則「帶符號大小」、「1's補數」及「2's補數」的表示如下:

2-5.1 帶符號大小(Signed-magnitude) 【定義】 是指利用某一「符號位元」用來表示該「數值資料」為正數或是負數。 【格式】 【說明】

【範例】 假設使用6個位元來表達正負12整數時,則「數值資料」的表達範圍只剩5個位元可以使用。

2-5.2 補數表示法 【定義】 在電腦運算中,遇到「減法運算」時,我們可以利用「加法器」與「補數運算」來取代。遇到「負數」時,也可以利用「補數表示法」。所以,就可以簡化線路的設計。 【補數表示法】 對於基底為R的數字系統而言,只有兩種型式之補數表示法: 1. R-1的補數 2. R的補數 【作法】 R-1的補數:利用一組(R-1)的數值來與題目的數值相減,其所得到 的值就是(R-1)’S補數 R的補數:(R-1)’S補數值在尾端再加上1

【四種常見的進制之補數】  2進制只有2的補數與1的補數  4進制只有4的補數與3的補數  8進制只有8的補數與7的補數  2進制只有2的補數與1的補數  4進制只有4的補數與3的補數  8進制只有8的補數與7的補數  10進制只有10的補數與9的補數

【範例】 求00001001 (2) 之1’s補數與2’s補數 【解析】此題R為2進制

【範例】 求123.4567 (8) 之8’s補數與7’s補數 【解析】此題R為8進制

【2進制求補數的快速方法】 1的補數:所有的0變為1,1變為0 2的補數:由右至左找到第一個1保留,其餘0變為1,1變為0

4.最後的結果即為(11000)2 。亦即代表-12

亦即代表+12。

【2補數與1補數的比較表】

2-6 資料表示法 基本上,資料儲存於電腦之中,依其可否做運算的性質,可分成兩種: 2-6 資料表示法 基本上,資料儲存於電腦之中,依其可否做運算的性質,可分成兩種: 1.數值資料:以數字組成,只能表示數值資料,並且可用來做算術運算。 2.文數資料:以文字或數字資料組成。 【分類圖】

2-7 數值資料 【定義】以數字組成,只能表示數值資料,並且可用來做算術運算。 【分類】 1.定點數值表示法 2.浮點數表示法

一、定點數值表示法 【定義】是指只有整數部份,而沒有小數部份的數值資料。 【分類】 (1)帶符號數值表示法 (2)整數表示範圍

1. 帶符號數值表示法 【定義】是指在「數值資料」中,最左邊位元來表示「符號位元」。 【格式】

【範例】 假設使用6個位元來表達負12(-12)整數時,則「數值資料」的表達範圍 只剩5個位元可以使用。

2.整數表示範圍 【定義】是以n bit來表示整數資料的範圍。 【表示範圍】-2n-1 ~+(2n-1-1)

二、浮點數表示法 【定義】 是指在電腦系統中,如果某一數值資料含有小數(如3.141592)時,則需要使用一種特別的表示方法, 稱之為浮點數表示法。 【表示法】可用來表示同時具有「整數」及「小數」之實數資料。 【格式】

【浮點數表示法的求解步驟】 1.將「浮點數」題目轉換成R進制(2,4,8,16) 2.利用正規化「求指數」,亦即讓小數點左邊的第一位整數必須要為0 3.依題目要求的方法來計算「指數部份」 (1) 偏移法:指數部份=指數+偏移值(偏移值=2指數部份位數-1) (2) 2’s補數法:指數若為負數則須取2’s補數 4.判斷「符號位元」,亦即「正數」填入0,若為「負數」填入1 5.計算「小數部份」,亦即將R進制轉換成2進制 6.將「符號位元、指數部份、小數部份」以2進位填入「格式」中,若不滿 格式部份,則以填入0來補滿。 7.將格式依題目要求,再轉換成2,4,8或16進位表示。

【範例】

2-8 文數資料 【定義】以文字或數字資料組成。 【範圍】 1. 英文字母:大寫A-Z及小寫a-z,共52個字元 2-8 文數資料 【定義】以文字或數字資料組成。 【範圍】 1. 英文字母:大寫A-Z及小寫a-z,共52個字元 2. 數字:0~9,共10個字元 3. 特殊符號:(!@ # % & *…等),共30多個字元 所以,總共超過90多個字元了。 【問題】無法只利用電腦的基本單位是位元(Bit)來表示全部字元。 【解決方法】 利用6個bit,7個bit或8個bit的組合,用以代表每一個符號的編碼。

【分類】 1.ASCII碼 2.BCD碼 3.EBCDIC碼 4.中文碼

2-8.1 ASCII碼 【定義】 ASCII(American Standard Code For Information Interchange), 唸成As-Key是美國政府採用標準,稱為美國標準資訊交換碼。 【格式】 【說明】 利用前7個「數字位元」來代表一個字元。而第八個位元則是用來錯誤檢查的「核對位元」。 因此,在實際上僅能用到其他的7個位元。換言之,ASCII碼最多可以表示27=128個不同的字元。

數字<大寫字母<小寫字母 【表示內容】 英文大、小寫字母、阿拉伯數字、控制字元以及各種特殊符號等。 【適用時機】 一般小型及微電腦。 【ASCII碼大小順序】 數字<大寫字母<小寫字母

【模擬電腦讀取鍵盤轉換成ASCII碼的過程】 當使用者從「鍵盤」按下大寫字母「A」時,其實「電腦」會自動轉換成ASCII碼(01000001)資料傳送到「主記憶體」中,最後,再將ASCII碼轉換成字元「A」顯示螢幕上。 【說明】在「鍵盤」上每個英文字母、數字或特殊符號都有不同的代碼,因此,電腦才能加以識別。

【隨堂抽問】 如果使用者從「鍵盤」按下大寫字母「D」時,請問它所傳達的訊息是多少呢? 【解答】01000100

2-8.2 BCD碼 【定義】 BCD(Binary Coded Decimal)碼,它是專門用來表示數字資料0~9的編碼系統。 【表示方法】以4個位元為一組,表示1個十進位的值。 【範例】當數字為2位數時,則需要2個4Bit來表示。

2-8.3 EBCDIC碼 【定義】 EBCDIC碼(Extend BCD Code),由IBM公司創立,它用八個位元來代表一個字元,因此,EBCDIC碼最多可表示28=256個不同字元。 例如:英文字A的編碼為11000001。 【格式】8個位元合成一個位元組,每個位元組儲存一個字元

【範例】 請計算出字元A, p, 1, 5的EBCDIC碼 【註】 英文A是A~I的第1個,數字位元是0001 英文p是j~r的第7個,數字位元是0111 數字1是0~9的第2個,數字碼是0010 數字5是0~9的第6個,數字碼是0110

2-9 中文碼 【引言】 基本上,在電腦系統中,我們可以利用 8 個位元(亦即28 = 256)就可以表示所有的英文字母、數字及特殊符號;但是,8個位元卻無法表示所有的中文字。因此,每一個中文字就必須要利用16個位元(2個位元組)來編碼。 【定義】是指中文字儲存在電腦內部時,則稱此編碼為中文內碼。 【常使用的編碼系統】 一、Big-5碼 二、Unicode碼(全球統一的編碼系統)

一、Big-5碼 【定義】它由「資策會」聯合 13 家業者在1984年所共同制定的編碼系統。 【目的】電腦內部所能辨識和處理的代碼。 【長度】每字佔2byte(=16bits)。所以,共有216=65536 個字型 【表示範圍】大約可以表示13461字元 1. 常用字:5401個 2. 次常用字:7652 個 3. 符號字:408 個(包含標點符號、注音符號、單位符號……)。 【Big5 碼的表示範圍有限】 當我們上網瀏覽網頁時,有時候會發現某些人名的某些字是「???、缺字或特別奇怪」,例如:游錫 的 字,它是無法顯示,必須要自行利用造字系統來「造字」,其主要原因就是 Big5 碼沒有這個字所致。

二、Unicode碼(全球統一的編碼系統) 【引言】 由於全世界各國都有各自的語言,甚至有些國家的語言還會有多種不同的編碼系統 (例如繁體中文就有 BIG5 與UTF-8碼),因此,全世界就會有相當多種不同的編碼系統。 【衍生問題】 不同編碼的語言在電腦系統進行交換資料時,由於沒有「共用的編碼系統」,導致無法解析彼此之間的文字內容。

【範例】 當我們在瀏覽網頁或收信時,有時就會發現網頁或信件內容全部是「???、缺字或亂碼」,此時,您可能會被嚇到。其主要的原因就是:沒有使用「共用的編碼系統」(Unicode碼)。 【解決方法】共用的編碼系統(全球統一的編碼系統)

Unicode碼 【定義】 它是由萬國碼技術委員會(Unicode Consortium)所制定的國際性文字碼,具有向下相容ASCII碼的特性。 【目的】將全球語言編在一起, 而達成統一編碼的目的。 【表示】使用16位元(2個bytes)編碼 【圖解】

2-10 資料檢查方法 【引言】 雖然電腦「可靠度」很高,但是,並非完全不會產生錯誤。例如,當英文字母『A』的EBCDIC編碼為『11000001』,但是,在傳輸過程中受到電路干擾到第二位元從0變為1,CPU此時所接受到的訊息就是『11000011』而非原來的資料,如果沒有設計一套偵錯措施,就會發生錯誤而將訊息誤解為字母『C』。 【解決方法】增加一個檢查位元(或稱同位位元(Parity bit)) 【目的】用來避免傳輸上發生錯誤。 【分類】 1.奇數同位 (Odd Parity) 2.偶數同位 (Even Parity)

2-10.1 奇數同位 (Odd Parity) 【定義】是指『1』的個數加起來須為奇數個。 【作法】在每一筆資料後面附加一同位位元『0』或『1』,使得整個 資料有奇數個『1』。 【例如】1111010:原先有5(奇數)個1,須加一同位位元『0』, 變成奇數個『1』。 【示意圖】

2-10.2 偶數同位 (Even Parity) 【定義】是指『1』的個數加起來須為偶數個。 【作法】在每一筆資料後面附加一個同位位元『0』或『1』,使得 整個資料有偶數個『1』。 【例如】1111010:原先有5(奇數)個1,須加一同位位元『1』, 變成偶數個『1』。 【示意圖】

2-11 誤差與錯誤 【引言】 人非聖賢,熟能無過。每一個人在寫程式時都有可能產生錯誤,有可能是在撰寫時寫錯,也有可能程式在執行時才出現錯誤,甚至是在使用者操作不當,所導致的錯誤。因此,我們撰寫程式時,可能會出現一些不可預期的錯誤。 【誤差種類】資料在表示時,常見的誤差有以下三種: 1. 固有誤差(Inherent error) 2. 捨位誤差(Round-off error) 3. 截斷誤差(Trunction error) 【錯誤種類】撰寫程式時,常見的錯誤有以下三種: 1. 語法錯誤(Syntax error) 2. 邏輯錯誤(Logical error) 3. 執行階段錯誤(Runtime error)

一、固有誤差(Inherent error) 【定義】由於測試儀器不精確或人為的疏忽所引起的誤差。 【改善方法】買速度較快的新電腦。 【示意圖】

二、捨位誤差(Round-off error) 【定義】 因每一種資料型態的長度有限,無法將整個實數存入,因為刪除尾數項所產生的誤差。 【改善方法】增加尾數長度(採用倍精度實數) 【範例】圓周率(例:PI=3.141592…) 【示意圖】

三、截斷誤差(Trunction error) 【定義】 當作無窮級數計算時,無法將所有的項都計算,所以捨棄高次項所產生的誤差。 【改善方法】重新寫程式。 【範例】循環小數(例:1/3=0.3333…) 【示意圖】

四、語法錯誤(Syntax error) 【定義】 是指在程式中違反語法規則的結果。語法錯誤是最常見的錯誤類型。 【解決方法】在編寫程式時,我們必須嚴格遵守程式語言的語法規則。 【例如】 1. 拼字錯誤 2. 在物件中引言錯誤的屬性、方法及事件 3. 使用了尚未定義的副程式或函數等等。 【圖示】此種錯誤可利用Compiler檢查出來。

五、邏輯錯誤(Logical error) 【定義】 邏輯錯誤又稱為「語意錯誤」,此種錯誤Compiler檢查不出來,必須經由程式設計師自行檢查或應用Dubug協助除錯。 【解決方法】 只能由程式設計師自行偵錯。因此,運用不同的測試數據,對程序進行測試,並將程序輸出與預期的結果進行比較。 【實例】無窮迴圈的例子。 【圖示】

六、執行階段錯誤(Runtime error) 【定義】指程式在運行時發生錯誤,使程序在運行期間終止。 【例如1】將數值除以零。 【解決方法】在編寫程序時我們必須確保「除數不為零」。 【例如2】資料型態錯誤,亦即產生的數值超出表示的範圍, 如變數的溢位現象。 【解決方法】在編寫程序時我們必須確保「資料型態的表示範圍」。 【圖示】