第二章 电脑资料表示法与数字系统.ppt_第1页
第二章 电脑资料表示法与数字系统.ppt_第2页
第二章 电脑资料表示法与数字系统.ppt_第3页
第二章 电脑资料表示法与数字系统.ppt_第4页
第二章 电脑资料表示法与数字系统.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第二章 電腦資料表示法與數字系統,2-1 資料表示法簡介 2-2 數值表示法 2-3 數字系統介紹 2-4 數字系統轉換方式,2,我們知道電腦與一般的電器用品一樣,都是由許多電子電路所組成,並且也透過這些連接的電子電路來傳遞訊息。 電腦僅能辯識電路上電流的通(ON)與不通(OFF)兩種訊號,因此使用 ”0” 或 “1” 表示電流的脈衝,”0” 代表 OFF,”1” 代表 ON。,3,2-1 資料表示法簡介,不過因為電腦所處理的資料相當龐大,一個位元不夠使用,所以又將八個位元組合成一個位元組(byte),因為一個位元有 ”0” 與 “1” 兩種狀態,一個位元組便有 28=256 種狀態。,4

2、,由於中文字的字數眾多,所以無法使用一個位元組來代表一個中文字碼,而必須至少使用兩個位元組來表示(如BIG5中文編碼),因為可表示 21665536 個字型。 為了計量方便起見,我們定義了更大的儲存單位。常用的儲存單位有KB(Kilo Byte)、MB(Mega Bytes)、GB(Giga Bytes)等等,這些單位的換算關係如下: 1KB(Kilo Bytes)210 Bytes1024Bytes 1MB(Mega Bytes)220 Bytes1024KB 1GB(Giga Bytes)230 Bytes1024MB 1TB(Tera Bytes)=240 Bytes1024GB,5,編

3、碼系統簡介,由於電腦中的符號、字元或文字是以位元組(byte)為單位儲存,因此必須逐一轉換成相對應的內碼,然後電腦才能夠明瞭使用者所下達的指令,這就是編碼系統(Encoding System)的由來。在此種情形下,美國標準協會(ASA)提出了一組以7個位元(Bit)為基礎的美國標準資訊交換碼(American Standard Code for Information Interchange, ASCII)碼,來做為電腦中處理文字的統一編碼方式,是目前最普遍的編碼系統。,6,ASCII採用8 位元表示不同的字元,不過最左邊為核對位元,故實際上僅用到7個位元表示。也就是說ASCII碼最多可以表示

4、27128個不同的字元,可以表示大小英文字母、數字、符號及各種控制字元。例如ASCII碼的字母 ”A” 編碼為1000001,字母 ”a” 編碼為1100001:,7,後來有些電腦系統為了能夠處理更多的字元,將編碼系統擴充到8個位元,與原有的ASCII碼字元集比較之下,新的字元集有更多的圖形字元。例如由IBM所發展的擴展式BCD碼(Extended Binary Coded Decimal Interchange Code, EBCDIC),原理乃採用8個位元來表示不同之字元,因此EBCDIC碼最多可表示256個不同字元,比ASCII碼多表示128個字元。例如EBCDIC編碼的A編碼11000

5、001,a編碼為10000001。如下圖所示:,8,Unicode碼,(Unicode Technology Consortium:UTC)所制定做為支援各種國際性文字的16位元編碼系統- Unicode碼(或稱萬國碼)。在Unicode碼尚未出現前,並沒有一個編碼系統可以包含所有的字元,例如單單歐州共同體涵蓋的國家,就需要好幾種不同的編碼系統來包括歐洲語系的所有語言。Unicode跟其它編碼系統不同的地方,在於字表容納的總字數。例如國內有許多人取了電腦打不出來的名字,好比知名歌手陶吉吉、前總統府秘書長游錫方方土,原因就是BIG5碼只能表示13000個左右的中文字,如果能夠支援Unicode碼

6、,就不會有這樣的問題了。,9,2-2 數值表示法,一般在電腦中的資料,大致可以區分為文字資料與數值資料兩種。文字資料的表示法在上節中已經說明,接下來要來介紹數值資料:,10,整數表示法,對於電腦中的數值資料,使用二進位系統雖然可以正確地表示整數與小數部分,但是僅僅限於正數部分,而無法表示負數,畢竟電腦內部並無法直接使用 ”或 ” 來表示正、負數。由於負數的表示法會影響電腦運算速度,通常電腦中的負數表示法,多半是利用補數的概念。 所謂整數,就是不帶小數點的數,範圍包括0、正整數、負整數。在電腦系統中只能以固定位數表示數字,所用的位元組(bytes)越大,儲存位數越大。通常可區分為不帶號整數及帶號

7、整數兩種:,11,不帶號整數 就是正整數,並且再儲存時不帶任何符號位元。例如一個正整數是以一個位元組(8 bits)來儲存,則共能表示28=256個數字,且數字範圍為0 255。總結來說,如果某電腦系統是以n位元來表示正整數,則可能表示的有效範圍為 0 2n-1 帶號整數 可以表示正負整數,必須利用額外的1bit來表示符號位元,符號位元為0表示為正數,如果是1則代表為負數,其他剩下的位元則表示此整數的數值。對於利用n個位元來表示帶號整數的正數範圍為(0 2n-1),12,至於負整數的表示,則必須從先從補數談起。所謂補數,是指兩個數字加起來等於某特定數(如十進位制即為10)時,則稱該二數互為該特

8、定數的補數。例如3的10補數為7,同理7的10補數為3。對二進位系統而言,則有1補數系統和2補數系統兩種,敘述如下: 1補數系統(1s Complement) 1補數系統是指如果兩數之和為1,則此兩數互為1的補數,亦即0和1互為1的補數。也就是說,打算求得二進位數的補數,只需將0變成1,1變成0即可;例如011010102的1補數為100101012。,13,至於談到電腦內部的常用負數表示法,主要有帶號大小值法、1的補數法及2的補數法三種。分別介紹如下: 帶號大小值法 (Sign Magnitude) 若用N位元表示一個整數,最左邊一位元代表正負號,其餘N-1位元表示該數值,則此數的變化範圍在

9、 -2N-1-1 +2N-1-1。如果是以8個位元來表示一個整數,則最大的整數為(01111111)2 127,而最小的負數(11111111)2 -127。,14,1 s 補數法(1s Complement) 最左邊的位元同樣是表示正負號,它的正數的表示法和帶號大小值法完全相同,當表示負數時,由0變成1,而1則變成0,並得到一個二進位字串。例如我們使用8個位元來表示正負整數,那麼9=(00001001)2,則其1 s補數即為11110110:,15,2s 補數法(2s Complement) 最左邊的位元還是符號表示位元,正數的表示法則與帶號大小值法相同,但負數的表示法是用1補數法求得,並在

10、最後一位元上加1。基本上,2s補數法的做法就是把1s補數法加1即可。例如 9=(00001001)2的1s補數為(11110110)2,其2s補數則為(11110111)2:,16,定點數表示法,在電腦中的小數表示法可分為定點數與浮點數表示法兩種。兩者的差別在於小數點的位置,對於正負整數而言,定點數表示法小數點位置固定在右邊,而且不會因為電腦種類的不同而有差別,例如 16.8、0.2387等,17,浮點數表示法,浮點數就是包含小數點的指數型數值表示法,或稱為科學符號表示法。而浮點數表示法的小數點位置則取決於精確度及數值而定,另外不同電腦型態的浮點數表示法也有所不同。想要表示電腦內部的浮點數必須

11、先以正規化(Normalized Form)為其優先步驟。 假設一數N能化成以下格式: N=0.F*be ,其中 F:小數部份 e:指數部份 b:基底,18,至於在電腦內部的浮點數表示式,可用下圖來表示: 例如(13.25)=(0.110101)24 ,存入電腦的儲存格式如下:,19,2-3 數字系統介紹,人類慣用的數字觀念,就是以逢十進位的10進位來計量。也就是使用0、1、2、9十個數字做為計量的符號,不過在電腦系統中,卻是以0、1所代表的二進位系統為主,但是如果這個2進位數很大時,閱讀及書寫上都相當困難。因此為了更方便起見,又提出了八進位及十六進位系統,請看以下的圖表說明:,20,21,二

12、進位系統,所謂二進位系統,就是在這個系統下只有0與1兩種符號,以2為基數,並且逢2 進位,在此系統中,任何數字都必須以0或1來表示。例如十進位系統的3,在二進位系統則表示為112。 310=1*21+1*20=112,22,十進位系統,十進位系統是人類最常使用的數字系統,以10為基數且逢十進位,其基本符號有0、1、2、3、48、9共10種,例如9876、12345、534都是10進位系統的表示法。,23,八進位系統,八進位系統是以8為基數,基本符號為0,1,2,3,4,5,6,7,並且逢8進位的數字系統。例如十進位系統的87,在八進位系統中可以表示為1278。 1278=1*82+2*81+7

13、=64+16+7=8710,24,十六進位系統,十六進位系統是一套以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: A1816=10*162+1*161+8*160=258410,25,2-4 數字系統轉換方式,由於電腦內部是以二進位系統方式來處理資料,而人類則是以十進位系統來處理日常運算,當然有些資料也會利用八進位或十進位系統表示。因此當各位認識了以上數字系統後,也要了解它們彼此間的轉換方式,26,非十進位轉成十進位,非十進位轉成

14、十進位的基本原則是將整數與小數分開處理。例如二進位轉換成十進位,可將整數部份以2進位數值乘上相對的2正次方值,例如二進位整數右邊第一位的值乘以20,往左算起第二位的值乘以21,依此類推,最後再加總起來。 至於小數的部份,則以2進位數值乘上相對的2 負次方值,例如小數點右邊第一位的值乘以2-1,往右算起第二位的值乘以2-2,依此類推,最後再加總起來。至於八進位、十六進位轉換成十進位的方法都相當類似。,27,0.112=1*2-1+1*2-2=0.5+0.25=0.7510 11.1012=1*21+1*20+1*2-1+0*2-2+1*2-3=3.87510 128=1*81+2*80=1010

15、 163.78=1*82+6*81+3*80+7*8-1=115.87510 A1D16=A*162+1*161+D*160 =10*162+1*16+13 =258910 AC.216 =A*161 + C * 16 0 + 2 * 16 - 1 =10*161+12+0.125 =172.12510,28,29,十進位轉換成非十進位,轉換的方式可以分為整數與小數兩部份來處理,我們利用以下範例來為各位說明: (1). 十進位轉換成二進位 6310=1111112,30,(0.625)10=(0.101)2,31,(12.75)10(12) 10(0.75) 10 其中(12)1011002

16、(0.75)10(0.11)2 所以(12.75)10(12) 10(0.75) 10 110020.11 1100.112,32,(2). 十進位轉換成八進位 6310(77)8 (0.75)10(0.6)8,33,(3). 十進位轉換成十六進位 (63)10(3F)16 (0.62890625)10(0.A1)16,34,120.510(120) 10(0.5) 10 其中 (120) 10(78)16 (0.5) 10(0.8)16,35,非十進位轉換成非十進位,如果打算從非十進位轉換另一種非十進位的方式,也相當容易,方法有兩種。第一種方法是只要先行將其中一個非十進位轉換為十進位制,再依照前述兩節方式轉換即可,例如我們將 (156)8 轉換成2進位與16進位:,36,(1). 二進位八進位 首先請將二進位的數字,以小數點為基準,小數點左側的整數部份由右向左,每三位打一逗點,不足三位則請在其左側補足0。小數右側的小數部份由左向右,每三位打一逗點,不足三位則請在其右側補足0,接著將每三位二進數字換成八進位數字,即成八進制。例如將10101110111011.01010112換算成八進位: 10,101,110,111,011.01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论