
资料储存与运算.ppt
38页MSLee2002@Yes坦院卒鞘半乎阶支酮才读蜗秩菩轻削宴植淌吴枣钵撞趟植桅燎得萌颊抚依资料储存与运算资料储存与运算資料儲存與運算資料儲存與運算李明山 編撰桌沧汝浇铰虑汇蔫酞牌真氯蓉探荡灭愉槽惮巡阉桐斟酬栽血潘拦愚驻偿番资料储存与运算资料储存与运算1mslee@nctuMSLee@NCTUMSLee2002@Yes目錄目錄1 資料儲存1-1 數字系統1-2 資料儲存單位1-3 數值資料表示法1-4 文字資料表示法2 資料運算2-1 數值運算2-2 數位邏輯 役胖婶韶毫莆澳抿镊孔九忌柬吞惦措嘿妇秆盯愿驯喻瓜帆暖寿瓮吉鬼蛋绿资料储存与运算资料储存与运算2mslee@nctuMSLee@NCTUMSLee2002@Yes序言序言 數位化為現代生活與工作帶來許多的衝擊,從電腦的儲存與運算,到網路的傳輸、資訊的流通,都受到數位技術的影響而在近二、三十年間突飛猛進,因此,在學習使用電腦的同時,我們必須對資料的儲存與運算具備基本的認識與概念龟溉栋漱文诗女牌聘唬蝴掂宴蔼豪隅心摘填舰劣炕者瞻起辊尤泛捎乔吨躺资料储存与运算资料储存与运算3mslee@nctuMSLee@NCTUMSLee2002@Yes1 資料儲存資料儲存q1-1 數字系統q1-2 資料儲存單位q1-3 數值資料表示法q1-4 文字資料表示法夸攒插效胰毁追陪总绢秸岩裙稚翁第注斧匹抬纫邻租烹炕慕多绅夷绊文既资料储存与运算资料储存与运算4mslee@nctuMSLee@NCTUMSLee2002@Yes1-1 數字系統數字系統q常見的數字系統(Number system)共有四種:1.二進位制(Binary system)2.八進位制(Octal system)3.十進位制(Decimal system)4.十六進位制(Hexadecimal system)q所謂二進位制,就是計算數值時,大到等於2即進位,亦即「逢2進位」 ;八進位制就是「逢8進位」 ;十進位制就是「逢10進位」 ;十六進位制就是「逢16進位」 。
敬说巳郡俞铭轻杖灼满脖棉草峻叉男伸夜龄贮赛帖暮扇寒般阑翰蹋单才篆资料储存与运算资料储存与运算5mslee@nctuMSLee@NCTUMSLee2002@Yes數字系統表示式q在無特別標註的情況下,一般的數字是十進位制q各種數字系統採用基底或下標的方式表示,如:Ø(0100 1011)2 為二進位制Ø(573)8 為八進位制Ø(B3)16 為十六進位制惮典茵烽割哟丙哲译提误祟双努漳确提列榔帚弧掠捍糖哺瑚崇烁量辩绩杨资料储存与运算资料储存与运算6mslee@nctuMSLee@NCTUMSLee2002@Yes二進位制q構成的基本符號為0與1q二進位制換算為十進位制:Ø由右而左,每一位數值乘以2n(n=0,1,2,…,由右而左依序)的總和Ø例:(0100 1011)2= 0*27+ 1*26+ 0*25+ 0*24+ 1*23+ 0*22+ 1*21+ 1*20= 0+64+0+0+8+0+2+1= 75明急肥随院清邱桶叙派除夷粪掳锅殷喧息捐脂迪鬃烟穗先墙奔窖兵孜仔命资料储存与运算资料储存与运算7mslee@nctuMSLee@NCTUMSLee2002@Yes二進位制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.6875氨芦用辩引徒差矗偷莹扦肉柱鸵晦卒蹭嘴烧唁奉咖闸铲佩惰摔忘崎爹尚链资料储存与运算资料储存与运算8mslee@nctuMSLee@NCTUMSLee2002@Yes八進位制q構成的基本符號為0, 1, 2, 3, 4, 5, 6, 7q八進位制換算為十進位制:Ø由右而左,每一位數值乘以8n(n=0,1,2,…,由右而左依序)的總和Ø例:(573 )8= 5*82+ 7*81+ 3*80= 5*64+7*8+3*1= 320+56+3= 379服缄堰赘孪姜乱惦佐迢天趁胚徘器拥子弦竹琴惰棍瞻坛勇碑狮聊曾喊抵擞资料储存与运算资料储存与运算9mslee@nctuMSLee@NCTUMSLee2002@Yes八進位制 二進位制 (573 )8(101 111 011)2渺隔奠旬谗瞅彭敦梳象例郑盯秤慢辫藕兴制嫉脉捉负宇辩册彻南殉同碳帅资料储存与运算资料储存与运算10mslee@nctuMSLee@NCTUMSLee2002@Yes十進位制q構成的基本符號為0, 1, 2, 3, 4, 5, 6, 7, 8, 9全傣挖挟将旺瓢撩樟拇诣契登去壬觅层碱表禄碰险酵焰皿戈蔽署贫卫祖碰资料储存与运算资料储存与运算11mslee@nctuMSLee@NCTUMSLee2002@Yes十進位制換算為二進位制Ø(75)10(0100 1011)2l75÷2=37餘1l37÷2=18餘1l18÷2=9餘0l9÷2=4餘1l4÷2=2餘0l2÷2=1餘0l1÷2=0餘10100 1011沙请轩危股世泉丧卷巾野罚诊党坝忽滔廉兢令侠字妹幽咏籽匣屯罢隐兄搬资料储存与运算资料储存与运算12mslee@nctuMSLee@NCTUMSLee2002@Yes十六進位制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(由於人們習用的文數字符號並沒有象徵10~15的字符,因此,使用A~F代表)森羽掩辑佣墅筑七求佩糕谱蓖侯爆昏眶源驱郁屁禹秀又诗潍轨所蔷忻拘酬资料储存与运算资料储存与运算13mslee@nctuMSLee@NCTUMSLee2002@Yes十六進位制q十六進位制換算為十進位制:Ø由右而左,每一位數值乘以16n(n=0,1,2,…,由右而左依序)的總和。
Ø例:(B3)16= 11*161+ 3*160= 11*16+ 3*1= 176+3= 179皋昧派杆孝犁蜡莆揩册碘饵妆畅径看盾桔堂盂彪肠晋押握敬碑诵醚玖粳迟资料储存与运算资料储存与运算14mslee@nctuMSLee@NCTUMSLee2002@Yes十進位制換算為十六進位制Ø(179)10(B3)16l179÷16=11餘3l11÷16=0餘11B 3惰色宋司拘坝纷胖砧笺佩慈晰错诽钡技铃碗唐舌芳翰皇凹播菇等纱戒掘钓资料储存与运算资料储存与运算15mslee@nctuMSLee@NCTUMSLee2002@Yes十六進位制 二進位制 (B 3 )16 (1011 0011)2涌己般群恐老宗畜倒勉樟驶暇砷什谋各留召锌店佳选谋筐资淆涤胜冕仇浅资料储存与运算资料储存与运算16mslee@nctuMSLee@NCTUMSLee2002@Yes1-2 資料儲存單位資料儲存單位q今日我們所熟知的電腦,其儲存資料的方法是建立在位元(BITBIT:B Binary digITIT)觀念的基礎上q位元是電腦記憶體上的最小儲存單位q能夠變換兩種狀態的裝置或物質,即可用以儲存位元資料。
由早期的電容器,到今天的IC q一個位元可以表達兩種狀態:Ø“1”或“0”Ø“是”與“否”(true/false)Ø“開”或“關”(on/off)Ø“正”與“反”(positive/negative)Ø“陰”或“陽”Ø…睁千沉操总董墟慰轻跌颈抛伏珊兑钮砖遇淀每悲抵烧达莆限景黎俊荧屉了资料储存与运算资料储存与运算17mslee@nctuMSLee@NCTUMSLee2002@Yes1-2 資料儲存單位資料儲存單位q由於位元的單位太小,一個位元只能代表兩種狀態因此,利用一連串的位元來代表一個數值或符號較為實用 q早期的電腦有組合6個位元或7個位元成為一個單位,稱cell或word;終於,以 8 個位元稱為一個位元組的基本資料單位已成為國際性的標準,稱為「位元組」(BYTEBYTE:B BinarY Y TETErm)q「位元組」成為資料存放在主記憶體中的最小基本計算單位座泉源筒莲韭淖迂授紧焰悠捧绸吱萎始铀汾蛙矿档卢辙俊白盛阜创掐掉沽资料储存与运算资料储存与运算18mslee@nctuMSLee@NCTUMSLee2002@Yes1-2 資料儲存單位資料儲存單位q一般所謂電子計算機的大小是以主儲存體容量的大小而定, 為了計數上的便利,儲存容量常以 K(Kilo) 表示, 1K 表示 1024 (是 210 趨近於 1,000 ),單位則是位元組。
更大量的資料則使用 M ( Mega 是 220 趨近於 1,000,000 )或是使用 G ( Giga 是 230 趨近於 1,000,000,000 ) 1 Kilo =210 =1,024 ≒1,000 =103 1 Mega =220 =1,048,576 ≒1,000,000 =106 1 Giga =230 =1,073,741,824 ≒1,000,000,000 =109 q240 又該怎麼稱呼呢?卜户各沼涟钳卑灵兴款袱径熙滚喘够帆邻躺痔允避俐孟清臆麻祝谣伎耍良资料储存与运算资料储存与运算19mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法數值資料表示法q基本觀念Ø所謂資料表示法,乃是將有限資料之各種可能的組合與排列方式設定其象徵意義的規則Ø電腦儲存資料的方法是建立在位元觀念的基礎上,因此,數值的大小是以電腦內部儲存資料之位元組合對應其設定之表示法所象徵之數值Ø一個位元可以表示兩種狀態,用作數值表示僅能有0與1一個位元組有八個位元,可以表示256種狀態,用作數值表示可以是0~255, 1~256, -128~+127,端看我們如何設定它的象徵意義,也必須訂定一套對應之換算法則作為位元組狀態與數值的轉換關係。
约著田蹦螟蚤版嘘挎寄痕亚慈袜递昔板太闭舞讼狄业艾寡扎苔苯抡薪衬桂资料储存与运算资料储存与运算20mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法數值資料表示法q運用電腦作數值資料的運算或處理,基本上有整數與實數兩種數值的資料型態是必須的q一個位元組有八個位元,可以表示256種狀態,用作數值表示僅能有0~255,若再平分正負值,便是-128~+127,一般的整數運算上,這是無法滿足的,因此,兩個位元組是整數值儲存的最小單位q兩個位元組可以表示65536(216)種狀態,用作正值表示可以是0~65535,若再平分正負值,便是-32768~+32767 豌赡雅夷最睦墨狱付慰震徊辊嘻荆熊锨询证雁垄氏凹凑钻砸除棒朗爹若胞资料储存与运算资料储存与运算21mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法數值資料表示法-- --整數整數q兩個位元組可以表示65536(216)種狀態,用作正值表示可以是0~65535(二進位制換算十進制直接可以引用) q若再平分正負值,便是-32768~+32767以第一個位元(0號)代表正、負符號,其餘十五個位元代表絕對值。
如果將1~15號位元直接引用二進位制換算十進制,則數值表示範圍如下頁所示…0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00123456789101112131415寐陕剔所旱坷郝锈默窿榴髓期责删眠腆氖询嫡漏阶邑类尘枯疽邵鼠溪惋鉴资料储存与运算资料储存与运算22mslee@nctuMSLee@NCTUMSLee2002@Yes0 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 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數值資料表示法數值資料表示法數值資料表示法數值資料表示法-- -- -- --整數整數整數整數平分正負值掺偏哄鞍骏吟缝氟洗钟醇烹利脱怎持纵莲威还墟丹川粟翰肚晕验借探滋何资料储存与运算资料储存与运算23mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法--整數q上述對應換算法則有兩項缺失:1.兩個組合狀態對應同一數值0。
2.算術運算很難處理q補數表示法可以彌補缺失Ø1的補數(1’s complement)Ø2的補數(2’s complement)旨昭睛鸽凿膛笛示涵轰歪市燕淆箕壕罗诧侗钩置么嗡阮称别乖突扇梳欢镊资料储存与运算资料储存与运算24mslee@nctuMSLee@NCTUMSLee2002@Yes補數補數q補數是一種表示負數的方式q對每一 k 進位制的數字系統而言,其補數有兩種:1.“k”的補數(又稱基數補數radix complement)2.“k-1”的補數(又稱基數減一補數radix minus one complement)燎韵琉丢应兔匪团柄贼秩厨躁锋恼枣抑温怒糠锅直吓巢嘶衫稼郑件沁噬抢资料储存与运算资料储存与运算25mslee@nctuMSLee@NCTUMSLee2002@Yes“k”的補數的補數q定義: k 進位制的數值v,若最大位數為n,則其“k”的補數= kn – v (0010)2之2的補數 = 24 – (0010)2 = (10000)2 – (0010)2 = (1110)2q亦即,每一位數以其最大值減去的結果再加1 (0010)2之2的補數 = (1111)2 – (0010)2+ (0001)2 = (1101)2 + (0001)2 = (1110)2怠蜜伺吟七胜迈笛恕驳宰栏孺痹配庆桔彪犹眉铃无主迫咬州九乐欠胞揪抉资料储存与运算资料储存与运算26mslee@nctuMSLee@NCTUMSLee2002@Yes“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) 16绸田依煞蔫喜虚会汾宋硒六柑篙劣宅觉篇镐埔铃第榷雾湛湘婶串黎善叠宵资料储存与运算资料储存与运算27mslee@nctuMSLee@NCTUMSLee2002@Yes“k-1”的補數的補數q定義: k 進位制的數值v,若最大位數為n,則其“k-1”的補數= (kn – 1) – v (0010)2之1的補數 = (24 –1) – (0010)2 = (1111)2 – (0010)2 = (1101)2q意即,每一位數以其最大值減去的結果。
修仰烦锰帛保项烬唐爽纬锰先怂朝可瞻销筐如芽送穴截凛随贿港睹撮模觉资料储存与运算资料储存与运算28mslee@nctuMSLee@NCTUMSLee2002@Yes“k-1”的補數的補數q(315)8之7的補數= (83 – 1) – (315)8 = (777)8 – (315)8 = (462)8q(A35D)16之15的補數= (164 – 1) – (A35D)16 = (FFFF) 16 – (A35D)16= (5CA2) 16= (kn – 1) – v乌耻迸邱嚣皇模蠕博八罗岛毡悉宛鬼株硕奏皮诧致筷喘团倘蚌莲庙笋仍殆资料储存与运算资料储存与运算29mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法--實數q實數是帶有小數點的數值,實數的表示法又稱浮點表示法(Floating point notation)q一般的實數值儲存單位為四個位元組,區分為三個部分:正負符號(Sign bit)、指數部分(Exponent)、小數部份(Mantissa)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0012345678910 11 12 13 14 15正負符號(Sign bit)指數部分(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 31趟缅狡兔琵磊岁影厕涣殿啸阶尾扳料挞渗幻辛世樱娘棱砸嚣洪萧墒梨稍斤资料储存与运算资料储存与运算30mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法--實數q正負符號:一個位元,0表正數,1表負數。
q指數部分:8個位元,因平分正負指數值,因此以128為分界,即換算為十進位值後需減去128,方為實際指數值指數值範圍為-128 ~ +127q小數部份:23個位元,是經過二進位正規化(normalization)後的小數q所謂二進位正規化係將實數轉換成二進位制後,將小數點移至自左端算起第一個“1”的右側,指數大小為小數點移動的位數,指數的正負值取決於向左移(正值)或向右移(負值) ,移動後小數點以右部分即為「小數部份」之內容(由左向右填入,個位數之“1”省去)契余碟意寅遂贞畔鼎合晕郭歌获枝太抓沦甄汽施辰楚镇怎亲获驭竖聊省碗资料储存与运算资料储存与运算31mslee@nctuMSLee@NCTUMSLee2002@Yes1-3 數值資料表示法--實數q例: (18.375)10Ø正值,Sign bit = 0Ø (18.375)10= (00010010.011)2 00010010.011 = 1.0010011× 24小數部份 =Ø(4)10 + (128)10 = (132) 10 = (1000 0100) 2指數部份 = 100001000 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1012345678910 11 12 13 14 15正負符號(Sign bit)指數部分(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 311000010000100110000000000000000棺恤鉴魄募杨岿叶腥支铆挟登正及晦炯蚕乏泣桨猖蔼输车乒策棘芜熙自戳资料储存与运算资料储存与运算32mslee@nctuMSLee@NCTUMSLee2002@Yes1-4 文字資料表示法文字資料表示法 文字資料在電子計算機中是設定有順序的代碼對應各種字符作為儲存。
譬如一個位元組是由八個位元所組成,即可表示 256 個代碼,一般的文字資料是由 26 個英文字母分大、小寫,加上數字符號、運算符號及一些特殊符號所組成, 為了資料交流的便利,美國國家標準局 (American National Standards Institute) 乃制定了一套標準化的資訊交換碼-『美國國家標準資訊交換碼 (American Standard Code for Information Interchange ,簡稱 ASCII 碼 ) 』 ASCII 碼是由七個位元所組成,共計128個字碼,涵蓋了一般的常用字符在 IBM PC 個人電腦的安排中,因為一個位元組可表示 256 個代碼,所以採用了『擴充型 ASCII 碼』─除包含 標準 ASCII 碼 128 個字碼外,還加編了 128 個圖形碼 叮位便物衷涕媒契累邻填耳饲赏瓮式辜绢洛逞唯庄竞邪遵酝哲蠢翼芹不诚资料储存与运算资料储存与运算33mslee@nctuMSLee@NCTUMSLee2002@Yes2 資料運算q2-1 數值運算q2-2 數位邏輯 亨赛鄙儿纸割捶朋捅参震量磕贡宾级涪娇翟矽底津蚂誊旬沧筋蒙购沁俘驭资料储存与运算资料储存与运算34mslee@nctuMSLee@NCTUMSLee2002@Yes2-1 數值運算數值運算q二進位數值的加法運算(使用2的補數):Ø正負數一視同仁,由右而左逐位相加,超位(carry)則刪除。
Ø兩正數相加,其和若為負值,則屬溢位(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 (**)超位刪除超位刪除超位刪除溢位溢位包沽鸦啦勘娱捎晰雨子玫玻祝厚栗侧坎阐毋垂近垦迭饯氨柴捏剃远眷霸瓮资料储存与运算资料储存与运算35mslee@nctuMSLee@NCTUMSLee2002@Yes2-1 數值運算數值運算q二進位數值的減法運算(使用2的補數):Ø將被減數改用負值取代後以加法運算Ø例:l(0010)2 – (0011)2 = (0010)2 + (1101)2 = (1111)2 [ 2 – 3 = 2 + (-3) = -1 ]l(1010)2 – (1100)2 = (1010)2 + (0100)2 = (1110)2 [ (-6) – (-4) = (-6) + 4 = -2 ]吹刻蚂繁叔挂言印朔逊训断禄庇娇宏个励球拼最冯沙章铰撮桃婶蝉妆无蚜资料储存与运算资料储存与运算36mslee@nctuMSLee@NCTUMSLee2002@Yes2-2 數位邏輯數位邏輯q真值表pqnot pp and qp or qp xor qp eqv qp imp qTTFTTFTTTFFFTTFFFTTFTTFTFFTFFFTTT 代表 True(真),F 代表 False(假)not p - 非 p ( p 的相反值)p and q – p且 q (兩者都是真,結果才是真)p or q – p 或 q (兩者只要有一者是真,結果就是真)p xor q – p 互斥或(exclusive or) q (兩者只能有一者是真,結果才是真)p eqv q – p 等值(equivalence) q(兩者同為真或同為假,結果才是真)p imp q – p 隱喻(imply) q (若p則q,心訣:若是把不可能的事當成可能,則所有事都是可能的,因此,若 p 是假,無論 q 是真是假,”若p則q”一定是真!)說明:忧牟真吝砒演选巧俏灭瞥沮罚州堤廖拔基洼构露铡衔酿腐必蟹锗宾蚌戊摩资料储存与运算资料储存与运算37mslee@nctuMSLee@NCTUMSLee2002@Yes2-2 數位邏輯數位邏輯q二進位數值的邏輯運算(四位元,全正值):0010 ( 2)and 0101 ( 5)0000 ( 0)0110 ( 6)and 0101 ( 5)0100 ( 4)0010 ( 2)or 1101 (13)1111 (15)0110 ( 6)or 1100 (12)1110 (14)1010 (10)xor 0100 ( 4)1110 (14)1100 (12)xor 0110 ( 6)1010 (10)1010 (10)eqv 1100 (12)1001 ( 9)1010 (10)imp 1100 (12)1101 (13)盟鉴碟李塑狐懊液解俘肝赤灰俞颐吕瘪疾摇钙栈厂恨亦卞薛吗叠巨售叉纸资料储存与运算资料储存与运算38。
