




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章概述1.1計算機的數制及其轉換
1.2
計算機中數與字符的編碼
1.3微型計算機系統組成1.4微型計算機的性能指標及分類1.5多媒體計算機1.1計算機中的數制及其轉換
計算機內部的信息分為兩大類:控制與狀態信息數據信息
控制與狀態信息:是一系列的控制命令,用于指揮計算機如何操作,也可能是一種檢測信息;
數據信息:是計算機操作的對象,一般又可分為數值數據和非數值數據。數值數據用于表示數量的大?。赫麛?,小數等非數值數據沒有確定的數值:字符、漢字、邏輯數據。
信息的表示:基2碼,即2進制形式
(1)基2碼在物理上最容易實現。
(2)基2碼用來表示二進制數,其編碼、加減運算規則簡單。
(3)基2碼的兩個符號“1”和“0”正好與邏輯數據“真”與“假”相對應,為計算機實現邏輯運算帶來了方便。
1.1.1數與數制位置計數法(進位計數制):是一種計數的方法。同一個數字在不同的數位代表的數值不同,這種記數方法稱為位置記數法。對每一個數位賦以不同的位值,稱為“權”。基數:各種數制中數字符號的個數稱為該數制的基數。數制:二進制、八進制、十進制、十六進制
表示方法:*二進制數(Binary)后綴加“B”,如:11010001B。*八進制數(Octonary)后綴加“O”或“Q ”,如:76Q。*十進制數(Decimal)后綴加“D”,如:25D或25。*十六進制數(Hexadecimal)后綴加“H”,如:9AH。
*十六進制數(Hexadecimal)后綴加“H”,如:0F6H
數的位權表示:十進制:(234.13)10=2×102+3×101+4×100+1×10-1+3×10-2
二進制:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2八進制:(124.36)8=1×82+2×81+4×80+3×8-1+6×8-2十六進制:(AC.B5)16=A×161+C×160+B×16-1+5×16-2其中為整數部分,為小數部分,r為基數。每一項的數字可用0~r-1數字中的一個數字來表示。位置計數通式:1.1.2不同數制之間的轉換
1.十進制數與二進制數之間的轉換
1)十進制整數轉換成二進制整數
方法:除2取余數,結果倒序排列。
2)十進制小數轉換成二進制小數
方法:乘2取整數,結果順序排列。
【例1-1】將十進制數97轉換成二進制數。其過程如下:最后結果為(97)10=(A6A5A4A3A2A1A0)2=(1100001)22972482242122623210余數為1,余數為0,余數為0,余數為0,余數為0,余數為1,余數為1,商為0,
即A0=1即A1=0即A2=0即A3=0即A4=0即A5=1即A6=1結束【例1-2】將十進制小數0.6875轉換成二進制小數。其過程如下:0.6875× ?21.3750 整數部分為1,即A-1=10.3750 余下的小數部分×20.7500 整數部分為0,即A-2=00.7500 余下的小數部分×?21.5000 整數部分為1,即A-3=10.5000 余下的小數部分×?21.0000 整數部分為1,即A-4=10.0000 余下的小數部分為0,結束最后結果為(0.6875)10=(0.A-1A-2A-3A-4)2=(0.1011)2
為了將一個既有整數又有小數部分的十進制數轉換成二進制數,可以將其整數部分和小數部分分別進行轉換,然后再組合起來。例如:(97)10=(1100001)2(0.6875)10=(0.1011)2由此可得:(97.6875)10=(1100001.1011)23)二進制數轉換成十進制數方法:按位權展開后相加?!纠?-3】將二進制數111.11轉換成十進制數。其過程如下:(111.11)2=1×22+1×21+1×20+1×2-1+1×2-2 =4+2+1+0.5+0.25=(7.75)10
2.十進制與八進制之間的轉換
1)十進制整數轉換成八進制整數
方法:除8取余數,余數按倒序排列。
2)十進制小數轉換成八進制小數方法:乘8取整法,所得整數按順序排列。
3)八進制數轉換成十進制數方法:按位權展開后相加
【例1-4】將十進制數97轉換成八進制數。其過程如下:最后結果為(97)10=(A2A1A0)8=(141)8余數為1,余數為4,余數為1,即A0=1即A1=4即A2=1結束
89781281商為0商為0,
【例1-5】將十進制小數0.6875轉換成八進制小數。其過程如下:
0.6875 ×8 5.5000 整數部分為5,即A-1=5 0.5000 余下的小數部分
×8 4.0000 整數部分為4,即A-2=4 0.0000 余下的小數部分為0,結束最后結果為(0.6875)10=(0.A-1A-2)8=(0.54)8同理,一個八進制數可分解成整數和小數部分,分別轉換后合成即可?!纠?-6】
將八進制數141.54轉換成十進制數。其過程如下:
(141.54)8=1×82+4×81+1×80+5×8-1+4×8-2 =64+32+1+0.625+0.0625 =97.6875最后結果為
(141.54)8=(97.6875)103.十進制與十六進制之間的轉換
1)十進制整數轉換成十六進制整數
方法:除16取余數,余數按倒序排列。
2)十進制小數轉換成十六進制小數
方法:乘16取整法,所得整數按順序排列。
3)十六進制數轉換成十進制數方法:按位權展開后相加。
【例1-7】將十進制數97轉換成十六進制數。其過程如下:最后結果為(97)10=(A2A1A0)16=(61)16余數為1,余數為6,即A0=1即A1=6結束1697166商為0商為0,【例1-8】將十進制小數0.6875轉換成十六進制小數。其過程如下:0.68751611.00000.0000整數部分為11,即A-1=B余下的小數部分為0,結束最后結果為(0.6875)10=(0.A-1)16=(0.B)16【例1-9】
將十六進制數61.B轉換成十進制數。其過程如下:
(61.B)16 =6×161+1×160+B×16-1 =96+1+11×16-1 =97+0.6875 =97.6875最后結果為
(61.B)16=(97.6875)104.二進制與八進制、十六進制數之間的轉換1)二進制數轉換成八進制數
方法:以小數點為中心分別向左向右每三位一組進行劃分,末尾不夠3位補0,將每組變為八進制數即可。2)八進制數轉換二進制數方法:將每一位八進制數分解成對應的三位二進制數。3)二進制數轉換成十六進制數
方法:以小數點為中心分別向左向右每四位一組進行劃分。末尾不夠4位補0,將每組變為十六進制數。4)十六進制數轉換二進制數
方法:將每位十六進制數轉換成對應的四位二進制數?!纠?-10】直接將二進制數11110.11轉換成八進制數。
011 110 . 1103 6 . 6(11110.11)2=(36.6)8【例1-11】直接將八進制數35.6轉換成二進制數。
3 5 . 6011 101 . 110(35.6)8=(11101.11)2【例1-12】直接將二進制11110.11轉換成十六進制數。0001 1110 . 11001 E . C(11110.11)2=(1E.C)16【例1-13】直接將十六進制數0EF.CH轉換成二進制數。
E F . C1110 1111 . 1100(EF.C)16=(11101111.11)21.2計算機中數與字符的編碼1.2.1數值數據的編碼及其運算
1.二進制數的編碼及運算機器數:帶符號的二進制數值數據在計算機內部的編碼。
真值:機器數所代表的實際值。二進制數據的正負的表示+(0)-(1)
常用編碼:原碼、反碼、補碼
1)二進制數原碼編碼方法2n-1>X≥00≥X>-2n-1(1)二進制正、負數的原碼就是符號化的機器數真值本身
(2)原碼表示數的范圍:[-(2n-1-1),(2n-1-1)](3)真值0的原碼可表示為兩種不同的形式
+0[+0]原=00000000B-0[-0]原=10000000B2)二進制數反碼編碼方法2n-1>X≥00≥X>-2n-1二進制正數的反碼就是其原碼。二進制負數的反碼就是機器數符號位保持不變,其余按位取反。反碼表示數的范圍:[-(2n-1-1),(2n-1-1)](3)零的反碼有兩種表示法
[0]反=000…0n-1個0[0]反=111…1n-1個1
3)二進制數補碼編碼方法結論:二進制正數的補碼就是其原碼。二進制負數的補碼就是機器數符號位保持不變,其余位取反碼后末位加1。0≤X<2n-1-2n-1≤X<0正數的補碼就是其原碼。負數的補碼就是機器數符號位保持不變,其余位取反碼后末位加1,即:[x]補=[x]反
+1補碼表示數的范圍:[-2n-1,(2n-1-1)][0]補=000。。。。0n個0補碼的性質1.補碼表示數時,減運算可以用加上減數的補碼來代替。即
A-B=(A+[-B]補)(MOD2n)2.用補碼表示的數相加時,如果兩數和的絕對值不產生溢出,并按下面的規則作兩數的補碼運算,則得到的結果仍然是和的補碼。第一要把符號位當作數一樣參加運算。第二符號位相加后,如有進位出現,則將其舍去。[X+Y]補=[X]補+[Y]補[X-Y]補=[X]補+[-Y]補3.[[x]補]補=[x]原有符號數運算時的溢出問題
計算機運算時由于位數的限制,會產生溢出。有符號數加減運算采用雙高位法判別是否溢出。
CS:最高位進位
CP:次高位進位
P=CSXORCP=1且CS=0正溢出
=1且CS=1負溢出
=0不溢出【例1-15】機器字長n=8位,X=-48D,求[X]補。(1)將-48D轉換為二進制數:-00110000B。(2)變為反碼,11001111B,(3)末位加1后為,[-48]補
=11010000B=0D0H
字長=16時,對[-48]補進行擴展
[-48]補=1111111111010000B=0FFD0H
2.無符號整數的編碼及運算規則在某些情況下,計算機要處理的數據全是正數,此時機器數再保留符號位就沒有意義了。這時,將機器數最高有效位也作為數值位處理,也就是說,假設機器字長為n位,則有符號整數的編碼可表示為符號位數值位
1位n-1位無符號整數的編碼可表示為數值位n位
無符號整數的表示范圍是:0≤N≤2n-1。例如,當n=8位時,表示范圍是:0≤N≤255;當n=16位時,表示范圍是:0≤N≤65535。計算機中最常見的無符號整數是地址,另外,雙字長數據的低位字也是無符號整數。要注意的是,計算機本身不論是對有符號數還是無符號數,總是按照補碼的運算規則做運算。
3.十進制數的編碼及運算人們在日常生活中習慣使用十進制數,而在計算機內,采用二進制表示和處理數據更方便。因此,計算機在輸入和輸出數據時,要進行十→二和二→十的進制數轉換。但是,在某些特定的應用領域中(如商業統計),數據的運算很簡單,但數據的輸入和輸出量很大,這樣,進制轉換所占的時間比例就會很大。從提高計算機的運行效率考慮,可以采用在計算機內部直接用十進制表示和處理數據的方法。以下介紹在計算機內部的十進制數的編碼方法及運算方法。
十進制數的每一個數位的基為10,但到了計算機內部,必須用基2碼對每個十進制數位進行編碼,所需要的最少的基碼的位數為lb10(即log210),取整數為4。4位基2碼有16種不同的組合,怎樣從中選擇出10個組合來表示十進制數位的0~9,有非常多的方案,最常見的是8421碼。8421碼是指4個基2碼的位權從高到低分別為8、4、2、1,選擇的是0000,0001,0010,…,1001這10種組合,用來表示0~9這10個數位,如表1-3所示。表1-3BCD碼表
這種編碼的特點是:這4個基2碼之間滿足二進制規則,而十進制數位之間是十進制計數規則。因此,這種編碼實質上是二進制編碼的十進制數(BinaryCodedDecimal),因此,簡稱BCD碼或二一十進制碼。十進制數碼01234567898421碼0000000100100011010001010110011110001001【例1-19】將十進制數67.9轉換成BCD碼。其過程如下:
6 7 . 90110 0111 . 1001所以(67.9)10=(01100111.0111)BCD【例1-20】將BCD碼10010110.0110轉換成十進制數,其過程如下:10010110 . 01109 6 . 6所以(10010110.0110)BCD=(96.6)10
BCD碼的運算規則:BCD碼是十進制數,而運算器對數據做加減運算時,都是按二進制運算規則進行處理的。這樣,當將BCD碼傳送給運算器進行運算時,其結果需要修正。
修正的規則是:當兩個BCD碼相加,如果和等于或小于1001(即9H),不需要修正;如果相加之和在1010到1111(即0AH~0FH)之間,則需加6H進行修正;如果相加時本位產生了進位,也需加6H進行修正。
這樣做的原因是,機器按二進制相加,所以4位二進制數相加時,是按“逢十六進一”的原則進行運算的,而實質上是2個十進制數相加,應該按“逢十進一”的原則相加,16與10相差6,所以當和超過9或有進位時,都要加6進行修正。下面舉例說明?!纠?-21】計算1+8的值如果將1和8送給機器進行加法運算,其運算過程如下:0001+)10001001結果是1001,即十進制數9,1+8=9正確?!纠?-22】需要修正BCD碼運算值的舉例。①計算5+7的值。0101+)01111100結果大于9+)0110加6修正
10010結果是0010,即十進制數2,還產生了進位。5+7=12,結論正確。12②計算9+9的值。1001+)100110010+)011011000
結果是1000,即十進制的8,還產生進位,故加6修正。9+9=18,結論正確。18
若做減法運算,其修正規則為:當兩個BCD碼相減,如果差等于或小于1001,不需要修正;如果相減時本位產生了借位,則應減6H加以修正。
原因是:如果有借位,機器將這個借位當十六看待,而實際上應該當十看待,因此,應該將差值再減6H才是BCD碼的正確結果值。下面舉兩個例子進行說明。【例1-23】
需要修正BCD碼運算值的舉例。①計算9-7的值。1001-)01110010結果值是0010,即十進制數2。9-7=2,結論正確。2②計算7-9的值?!l生借位10111-)10011110-)0110減6修正
1000
結果值是1000,即十進制數8,有借位。7-9=8,結論正確。(8是-2以10為模的補碼,在機器中,負數都以補碼形式表示)8
在計算機中BCD碼有兩種格式:壓縮BCD碼非壓縮BCD碼
(1)非壓縮BCD碼:1字節(8位二進制)中僅表示一位BCD數,例如:(00000110)BCD=6。
(2)壓縮BCD碼:1字節中僅表示兩位BCD數,例如:(01100110)BCD=66。另外,BCD碼除了采用上述方法調整以外,也可以在交付計算機運算之前,先將BCD碼轉換為二進制數,然后交付計算機運算,運算以后再將二進制結果轉換為BCD碼。1.2.2非數值數據的二進制編碼現代計算機不僅要處理數值數據,而且還要處理大量的非數值數據,像英文字母、標點符號、專用符號、漢字等等。前面已說過,不論什么數據,都必須用基2碼編碼后才能存儲、傳送及處理,非數值數據也不例外。下面分別討論常見的非數值數據的二進制編碼方法。
1.字符編碼使用最多、最普遍的是ASCII字符編碼,即美國標準信息交換代碼(AmericanStandardCodeforInformationInterchange),具體見表1-4。表1-4ASCII字符編碼B6B5B4
B3B2B1B0000(0)001(1)010(2)011(3)100(4)101(5)110(6)111(7)0000(0)NULDLESP0@P`p0001(1)SOHDC1!1AQaq0010(2)STXDC2″2BRbr0011(3)ETXDC3#3CScs0100(4)EOTDC4$4DTdt0101(5)ENQNAK%5EUeu0110(6)ACKSYN&6FVfv0111(7)BELETB?7GWgw1000(8)BSCAN(8HXhx1001(9)HTEM)9IYiy1010(A)LFSUB*:JZjz1011(B)VTESC+;K[k{1100(C)FFFS,<L\l|1101(D)CRGS-=M]m}1110(E)SORS.>N^n~1111(F)SIUS/?O_oDEL
ASCII碼表有以下幾個特點:
(1)每個字符用7位基2碼表示,其排列次序為B6B5B4B3B2B1B0。實際上,在計算機內部,每個字符是用8位(即一個字節)表示的。一般情況下,將最高位置為“0”,即B7為“0”。需要奇偶校驗時,最高位用做校驗位。(2)ASCII碼共編碼了128個字符,它們分別是:*32個控制字符,主要用于通信中的通信控制或對計算機設備的功能控制,編碼值為0~31(十進制)。*間隔字符(也稱空格字符)SP,編碼值為20H。*刪除控制碼DEL,編碼值為7FH。*94個可印刷字符(或稱有形字符)。這94個可印刷字符編碼有如下兩個規律:①字符0~9這10個數字符的高3位編碼都為011,低4位為0000~1001,屏蔽掉高3位的值,低4位正好是數據0~9的二進制形式。這樣編碼的好處是既滿足正常的數值排序關系,又有利于ASCII碼與二進制碼之間的轉換。②英文字母的編碼值滿足A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農作物秸稈顆粒機企業制定與實施新質生產力戰略研究報告
- 閱讀進度同步企業制定與實施新質生產力戰略研究報告
- 鄉村馬術體驗行業深度調研及發展戰略咨詢報告
- 教學計劃及進度表知識清單
- 2025年中國摩托車無極變速器市場調查研究報告
- 2025年中國折葉漿式攪拌器市場調查研究報告
- 高中語文評估體系優化計劃
- 小學教師2024-2025學年自然科學探索計劃
- 高層建筑消防器材配置質量保障措施
- 2025年中國吊環支架市場調查研究報告
- 幼兒園繪本故事:《十二生肖》 課件
- (完整版)人教版小學3-6年級英語單詞表-可直接打印
- 機電安裝總進度計劃橫道圖
- 起重吊裝作業安全綜合驗收記錄表
- 常規檢泵設計培訓
- 園林綠化工程監理實施細則(完整版)
- 夢想(英語演講稿)PPT幻燈片課件(PPT 12頁)
- 中國聯通員工績效管理實施計劃方案
- 法院刑事審判庭速裁庭廉政風險防控責任清單
- IEC60335-1(中文)
- 土方填筑碾壓試驗報告
評論
0/150
提交評論