《资料储存与运算》由会员分享,可在线阅读,更多相关《资料储存与运算(38页珍藏版)》请在金锄头文库上搜索。
1、MSLee2002Yes資料儲存與運算資料儲存與運算李明山編撰1msleenctuMSLeeNCTUMSLee2002Yes目錄目錄1資料儲存資料儲存1-1 數字系統數字系統1-2 資料儲存單位資料儲存單位1-3 數值資料表示法數值資料表示法1-4 文字資料表示法文字資料表示法2資料運算資料運算2-1 數值運算數值運算2-2 數位邏輯數位邏輯2msleenctuMSLeeNCTUMSLee2002Yes序言序言數位化為現代生活與工作帶來許多的衝擊,從電腦的儲存與運算,到網路的傳輸、資訊的流通,都受到數位技術的影響而在近二、三十年間突飛猛進,因此,在學習使用電腦的同時,我們必須對資料的儲存與運算
2、具備基本的認識與概念。3msleenctuMSLeeNCTUMSLee2002Yes1資料儲存資料儲存q1-1數字系統q1-2資料儲存單位q1-3數值資料表示法q1-4文字資料表示法4msleenctuMSLeeNCTUMSLee2002Yes1-1數字系統數字系統q常見的數字系統(Numbersystem)共有四種:1.二進位制(Binarysystem)2.八進位制(Octalsystem)3.十進位制(Decimalsystem)4.十六進位制(Hexadecimalsystem)q所謂二進位制,就是計算數值時,大到等於2即進位,亦即逢2進位;八進位制就是逢8進位;十進位制就是逢10進位
3、;十六進位制就是逢16進位。5msleenctuMSLeeNCTUMSLee2002Yes數字系統表示式q在無特別標註的情況下,一般的數字是十進位制。q各種數字系統採用基底或下標的方式表示,如:(01001011)2為二進位制(573)8為八進位制(B3)16為十六進位制6msleenctuMSLeeNCTUMSLee2002Yes二進位制q構成的基本符號為0與1q二進位制換算為十進位制:由右而左,每一位數值乘以2n(n=0,1,2,,由右而左依序)的總和。例:(01001011)2=0*27+1*26+0*25+0*24+1*23+0*22+1*21+1*20=0+64+0+0+8+0+2+
4、1=757msleenctuMSLeeNCTUMSLee2002Yes二進位制q含小數位數的二進位制換算為十進位制:整數部分由右而左,每一位數值乘以2n(n=0,1,2,),加上小數部分由左而右,每一位數值乘以2-n(n=1,2,)的總和。例:(0100.1011)2=0*23+1*22+0*21+0*20+1*2-1+0*2-2+1*2-3+1*2-4=0+4+0+0+0.5+0+0.125+0.0625=4.68758msleenctuMSLeeNCTUMSLee2002Yes八進位制q構成的基本符號為0,1,2,3,4,5,6,7q八進位制換算為十進位制:由右而左,每一位數值乘以8n(n
5、=0,1,2,,由右而左依序)的總和。例:(573)8=5*82+7*81+3*80=5*64+7*8+3*1=320+56+3=3799msleenctuMSLeeNCTUMSLee2002Yes八進位制 二進位制(573)8(101111011)210msleenctuMSLeeNCTUMSLee2002Yes十進位制q構成的基本符號為0,1,2,3,4,5,6,7,8,911msleenctuMSLeeNCTUMSLee2002Yes十進位制換算為二進位制(75)10(01001011)2l752=37餘1l372=18餘1l182=9餘0l92=4餘1l42=2餘0l22=1餘0l12
6、=0餘10100101112msleenctuMSLeeNCTUMSLee2002Yes十六進位制q構成的基本符號為0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FqA,B,C,D,E,F相當於十進制之10,11,12,13,14,15(由於人們習用的文數字符號並沒有象徵1015的字符,因此,使用AF代表)13msleenctuMSLeeNCTUMSLee2002Yes十六進位制q十六進位制換算為十進位制:由右而左,每一位數值乘以16n(n=0,1,2,,由右而左依序)的總和。例:(B3)16=11*161+3*160=11*16+3*1=176+3=17914msleenctu
7、MSLeeNCTUMSLee2002Yes十進位制換算為十六進位制(179)10(B3)16l17916=11餘3l1116=0餘11B315msleenctuMSLeeNCTUMSLee2002Yes十六進位制 二進位制(B3)16(10110011)216msleenctuMSLeeNCTUMSLee2002Yes1-2資料儲存單位資料儲存單位q今日我們所熟知的電腦,其儲存資料的方法是建立在位元(BITBIT:B BinarydigITIT)觀念的基礎上。q位元是電腦記憶體上的最小儲存單位。q能夠變換兩種狀態的裝置或物質,即可用以儲存位元資料。由早期的電容器,到今天的IC。q一個位元可以表
8、達兩種狀態:“1”或“0”“是”與“否”(true/false)“開”或“關”(on/off)“正”與“反”(positive/negative)“陰”或“陽”17msleenctuMSLeeNCTUMSLee2002Yes1-2資料儲存單位資料儲存單位q由於位元的單位太小,一個位元只能代表兩種狀態。因此,利用一連串的位元來代表一個數值或符號較為實用。q早期的電腦有組合6個位元或7個位元成為一個單位,稱cell或word;終於,以8個位元稱為一個位元組的基本資料單位已成為國際性的標準,稱為位元組(BYTEBYTE:B BinarY YTETErm)。q位元組成為資料存放在主記憶體中的最小基本計
9、算單位。18msleenctuMSLeeNCTUMSLee2002Yes1-2資料儲存單位資料儲存單位q一般所謂電子計算機的大小是以主儲存體容量的大小而定, 為了計數上的便利,儲存容量常以K(Kilo)表示,1K表示1024(是210趨近於1,000),單位則是位元組。更大量的資料則使用M(Mega是220趨近於1,000,000)或是使用G(Giga是230趨近於1,000,000,000)。1Kilo2101,0241,0001031Mega2201,048,5761,000,0001061Giga2301,073,741,8241,000,000,000109q240又該怎麼稱呼呢?19
10、msleenctuMSLeeNCTUMSLee2002Yes1-3數值資料表示法數值資料表示法q基本觀念所謂資料表示法,乃是將有限資料之各種可能的組合與排列方式設定其象徵意義的規則。電腦儲存資料的方法是建立在位元觀念的基礎上,因此,數值的大小是以電腦內部儲存資料之位元組合對應其設定之表示法所象徵之數值。一個位元可以表示兩種狀態,用作數值表示僅能有0與1。一個位元組有八個位元,可以表示256種狀態,用作數值表示可以是0255,1256,-128+127,端看我們如何設定它的象徵意義,也必須訂定一套對應之換算法則作為位元組狀態與數值的轉換關係。20msleenctuMSLeeNCTUMSLee20
11、02Yes1-3數值資料表示法數值資料表示法q運用電腦作數值資料的運算或處理,基本上有整數與實數兩種數值的資料型態是必須的。q一個位元組有八個位元,可以表示256種狀態,用作數值表示僅能有0255,若再平分正負值,便是-128+127,一般的整數運算上,這是無法滿足的,因此,兩個位元組是整數值儲存的最小單位。q兩個位元組可以表示65536(216)種狀態,用作正值表示可以是065535,若再平分正負值,便是-32768+32767。21msleenctuMSLeeNCTUMSLee2002Yes1-3數值資料表示法數值資料表示法- -整數整數q兩個位元組可以表示65536(216)種狀態,用作
12、正值表示可以是065535(二進位制換算十進制直接可以引用)。q若再平分正負值,便是-32768+32767。以第一個位元(0號)代表正、負符號,其餘十五個位元代表絕對值。如果將115號位元直接引用二進位制換算十進制,則數值表示範圍如下頁所示0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0012345678910111213141522msleenctuMSLeeNCTUMSLee2002Yes0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 001234567891011121314150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 1 1
13、1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 101327670-1-32767數值資料表示法數值資料表示法數值資料表示法數值資料表示法- - - -整數整數整數整數平分正負值平分正負值23msleenctuMSLeeNCTUMSLee2002Yes1-3 數值資料表示法-整數q上述對應換算法則有兩項缺失:1.兩個組合狀態對應同一數值0。2.算術運算很難處理。q補數表示法可以彌補缺失。1的補數(1scomplemen
14、t)2的補數(2scomplement)24msleenctuMSLeeNCTUMSLee2002Yes補數補數q補數是一種表示負數的方式q對每一k進位制的數字系統而言,其補數有兩種:1.“k”的補數(又稱基數補數radixcomplement)2.“k-1”的補數(又稱基數減一補數radixminusonecomplement)25msleenctuMSLeeNCTUMSLee2002Yes“k”的補數的補數q定義:k進位制的數值v,若最大位數為n,則其“k”的補數=knv (0010)2之2的補數=24(0010)2=(10000)2(0010)2=(1110)2q亦即,每一位數以其最大值
15、減去的結果再加1。(0010)2之2的補數=(1111)2(0010)2+(0001)2=(1101)2+(0001)2=(1110)226msleenctuMSLeeNCTUMSLee2002Yes“k”的補數的補數q(315)8之8的補數=83(315)8=(1000)8(315)8=(463)8q(A35D)16之16的補數=(FFFF)16(A35D)16+(0001)16=(5CA2)16+(0001)16=(5CA3)1627msleenctuMSLeeNCTUMSLee2002Yes“k-1”的補數的補數q定義:k進位制的數值v,若最大位數為n,則其“k-1”的補數=(kn1)v
16、 (0010)2之1的補數=(241)(0010)2=(1111)2(0010)2=(1101)2q意即,每一位數以其最大值減去的結果。28msleenctuMSLeeNCTUMSLee2002Yes“k-1”的補數的補數q(315)8之7的補數=(831)(315)8=(777)8(315)8=(462)8q(A35D)16之15的補數=(1641)(A35D)16=(FFFF)16(A35D)16=(5CA2)16=(kn1)v29msleenctuMSLeeNCTUMSLee2002Yes1-3 數值資料表示法-實數q實數是帶有小數點的數值,實數的表示法又稱浮點表示法(Floatingp
17、ointnotation)。q一般的實數值儲存單位為四個位元組,區分為三個部分:正負符號(Signbit)、指數部分(Exponent)、小數部份(Mantissa)。0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0012345678910 11 12 13 14 15正負符號(Signbit)指數部分(Exponent)小數部份(Mantissa)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 016 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3130msleenctuMSLeeNCTUMSLee2002Yes1-3 數值資
18、料表示法-實數q正負符號:一個位元,0表正數,1表負數。q指數部分:8個位元,因平分正負指數值,因此以128為分界,即換算為十進位值後需減去128,方為實際指數值。指數值範圍為-128+127。q小數部份:23個位元,是經過二進位正規化(normalization)後的小數。q所謂二進位正規化係將實數轉換成二進位制後,將小數點移至自左端算起第一個“1”的右側,指數大小為小數點移動的位數,指數的正負值取決於向左移(正值)或向右移(負值),移動後小數點以右部分即為小數部份之內容(由左向右填入,個位數之“1”省去)。31msleenctuMSLeeNCTUMSLee2002Yes1-3 數值資料表示
19、法-實數q例:(18.375)10正值,Signbit=0(18.375)10=(00010010.011)200010010.011=1.001001124小數部份=(4)10+(128)10=(132)10=(10000100)2指數部份=100001000 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1012345678910 11 12 13 14 15正負符號(Signbit)指數部分(Exponent)小數部份(Mantissa)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 016 17 18 19 20 21 22 23 24 25 26 27 28 2
20、9 30 31100001000010011000000000000000032msleenctuMSLeeNCTUMSLee2002Yes1-4文字資料表示法文字資料表示法文字資料在電子計算機中是設定有順序的代碼對應各種字符作為儲存。 譬如一個位元組是由八個位元所組成,即可表示256個代碼,一般的文字資料是由26個英文字母分大、小寫,加上數字符號、運算符號及一些特殊符號所組成, 為了資料交流的便利,美國國家標準局(AmericanNationalStandardsInstitute)乃制定了一套標準化的資訊交換碼美國國家標準資訊交換碼(AmericanStandardCodeforInfor
21、mationInterchange,簡稱ASCII碼)。ASCII碼是由七個位元所組成,共計128個字碼,涵蓋了一般的常用字符。在IBMPC個人電腦的安排中,因為一個位元組可表示256個代碼,所以採用了擴充型ASCII碼除包含標準ASCII碼128個字碼外,還加編了128個圖形碼。33msleenctuMSLeeNCTUMSLee2002Yes2資料運算資料運算q2-1 數值運算數值運算q2-2 數位邏輯數位邏輯34msleenctuMSLeeNCTUMSLee2002Yes2-1數值運算數值運算q二進位數值的加法運算(使用2的補數):正負數一視同仁,由右而左逐位相加,超位(carry)則刪除
22、。兩正數相加,其和若為負值,則屬溢位(overflow)。兩負數相加,其和若為“10”,則屬溢位。0010(+2)+0101(+5)0111(+7)0110(+6)+0101(+5)1011(*)0010(+2)+1101(3)1111(1)0110(+6)+1101(3)10011(+3)1010(6)+0100(+4)1110(2)1100(4)+0110(+6)10010(+2)1110(2)+1101(3)11011(5)1010(6)+1101(3)10111(*)超位刪除超位刪除超位刪除溢位溢位35msleenctuMSLeeNCTUMSLee2002Yes2-1數值運算數值運算q
23、二進位數值的減法運算(使用2的補數):將被減數改用負值取代後以加法運算。例:l(0010)2(0011)2=(0010)2+(1101)2=(1111)223=2+(-3)=-1l(1010)2(1100)2=(1010)2+(0100)2=(1110)2(-6)(-4)=(-6)+4=-236msleenctuMSLeeNCTUMSLee2002Yes2-2數位邏輯數位邏輯q真值表pqnot pp and qp or qp xor qp eqv qp imp qTTFTTFTTTFFFTTFFFTTFTTFTFFTFFFTTT代表True(真),F代表False(假)notp-非p(p的相反
24、值)pandqp且q(兩者都是真,結果才是真)porqp或q(兩者只要有一者是真,結果就是真)pxorqp互斥或(exclusiveor)q(兩者只能有一者是真,結果才是真)peqvqp等值(equivalence)q(兩者同為真或同為假,結果才是真)pimpqp隱喻(imply)q(若p則q,心訣:若是把不可能的事當成可能,則所有事都是可能的,因此,若p是假,無論q是真是假,”若p則q”一定是真!)說明:37msleenctuMSLeeNCTUMSLee2002Yes2-2數位邏輯數位邏輯q二進位數值的邏輯運算(四位元,全正值):0010(2)and0101(5)0000(0)0110(6)and0101(5)0100(4)0010(2)or1101(13)1111(15)0110(6)or1100(12)1110(14)1010(10)xor0100(4)1110(14)1100(12)xor0110(6)1010(10)1010(10)eqv1100(12)1001(9)1010(10)imp1100(12)1101(13)38