版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章概述1.1計算機的數(shù)制及其轉換
1.2
計算機中數(shù)與字符的編碼
1.3微型計算機系統(tǒng)組成1.4微型計算機的性能指標及分類1.5多媒體計算機1.1計算機中的數(shù)制及其轉換
計算機內部的信息分為兩大類:控制與狀態(tài)信息數(shù)據信息
控制與狀態(tài)信息:是一系列的控制命令,用于指揮計算機如何操作,也可能是一種檢測信息;
數(shù)據信息:是計算機操作的對象,一般又可分為數(shù)值數(shù)據和非數(shù)值數(shù)據。數(shù)值數(shù)據用于表示數(shù)量的大?。赫麛?shù),小數(shù)等非數(shù)值數(shù)據沒有確定的數(shù)值:字符、漢字、邏輯數(shù)據。
信息的表示:基2碼,即2進制形式
(1)基2碼在物理上最容易實現(xiàn)。
(2)基2碼用來表示二進制數(shù),其編碼、加減運算規(guī)則簡單。
(3)基2碼的兩個符號“1”和“0”正好與邏輯數(shù)據“真”與“假”相對應,為計算機實現(xiàn)邏輯運算帶來了方便。
1.1.1數(shù)與數(shù)制位置計數(shù)法(進位計數(shù)制):是一種計數(shù)的方法。同一個數(shù)字在不同的數(shù)位代表的數(shù)值不同,這種記數(shù)方法稱為位置記數(shù)法。對每一個數(shù)位賦以不同的位值,稱為“權”?;鶖?shù):各種數(shù)制中數(shù)字符號的個數(shù)稱為該數(shù)制的基數(shù)。數(shù)制:二進制、八進制、十進制、十六進制
表示方法:*二進制數(shù)(Binary)后綴加“B”,如:11010001B。*八進制數(shù)(Octonary)后綴加“O”或“Q ”,如:76Q。*十進制數(shù)(Decimal)后綴加“D”,如:25D或25。*十六進制數(shù)(Hexadecimal)后綴加“H”,如:9AH。
*十六進制數(shù)(Hexadecimal)后綴加“H”,如:0F6H
數(shù)的位權表示:十進制:(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其中為整數(shù)部分,為小數(shù)部分,r為基數(shù)。每一項的數(shù)字可用0~r-1數(shù)字中的一個數(shù)字來表示。位置計數(shù)通式:1.1.2不同數(shù)制之間的轉換
1.十進制數(shù)與二進制數(shù)之間的轉換
1)十進制整數(shù)轉換成二進制整數(shù)
方法:除2取余數(shù),結果倒序排列。
2)十進制小數(shù)轉換成二進制小數(shù)
方法:乘2取整數(shù),結果順序排列。
【例1-1】將十進制數(shù)97轉換成二進制數(shù)。其過程如下:最后結果為(97)10=(A6A5A4A3A2A1A0)2=(1100001)22972482242122623210余數(shù)為1,余數(shù)為0,余數(shù)為0,余數(shù)為0,余數(shù)為0,余數(shù)為1,余數(shù)為1,商為0,
即A0=1即A1=0即A2=0即A3=0即A4=0即A5=1即A6=1結束【例1-2】將十進制小數(shù)0.6875轉換成二進制小數(shù)。其過程如下:0.6875× ?21.3750 整數(shù)部分為1,即A-1=10.3750 余下的小數(shù)部分×20.7500 整數(shù)部分為0,即A-2=00.7500 余下的小數(shù)部分×?21.5000 整數(shù)部分為1,即A-3=10.5000 余下的小數(shù)部分×?21.0000 整數(shù)部分為1,即A-4=10.0000 余下的小數(shù)部分為0,結束最后結果為(0.6875)10=(0.A-1A-2A-3A-4)2=(0.1011)2
為了將一個既有整數(shù)又有小數(shù)部分的十進制數(shù)轉換成二進制數(shù),可以將其整數(shù)部分和小數(shù)部分分別進行轉換,然后再組合起來。例如:(97)10=(1100001)2(0.6875)10=(0.1011)2由此可得:(97.6875)10=(1100001.1011)23)二進制數(shù)轉換成十進制數(shù)方法:按位權展開后相加?!纠?-3】將二進制數(shù)111.11轉換成十進制數(shù)。其過程如下:(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)十進制整數(shù)轉換成八進制整數(shù)
方法:除8取余數(shù),余數(shù)按倒序排列。
2)十進制小數(shù)轉換成八進制小數(shù)方法:乘8取整法,所得整數(shù)按順序排列。
3)八進制數(shù)轉換成十進制數(shù)方法:按位權展開后相加
【例1-4】將十進制數(shù)97轉換成八進制數(shù)。其過程如下:最后結果為(97)10=(A2A1A0)8=(141)8余數(shù)為1,余數(shù)為4,余數(shù)為1,即A0=1即A1=4即A2=1結束
89781281商為0商為0,
【例1-5】將十進制小數(shù)0.6875轉換成八進制小數(shù)。其過程如下:
0.6875 ×8 5.5000 整數(shù)部分為5,即A-1=5 0.5000 余下的小數(shù)部分
×8 4.0000 整數(shù)部分為4,即A-2=4 0.0000 余下的小數(shù)部分為0,結束最后結果為(0.6875)10=(0.A-1A-2)8=(0.54)8同理,一個八進制數(shù)可分解成整數(shù)和小數(shù)部分,分別轉換后合成即可?!纠?-6】
將八進制數(shù)141.54轉換成十進制數(shù)。其過程如下:
(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)十進制整數(shù)轉換成十六進制整數(shù)
方法:除16取余數(shù),余數(shù)按倒序排列。
2)十進制小數(shù)轉換成十六進制小數(shù)
方法:乘16取整法,所得整數(shù)按順序排列。
3)十六進制數(shù)轉換成十進制數(shù)方法:按位權展開后相加。
【例1-7】將十進制數(shù)97轉換成十六進制數(shù)。其過程如下:最后結果為(97)10=(A2A1A0)16=(61)16余數(shù)為1,余數(shù)為6,即A0=1即A1=6結束1697166商為0商為0,【例1-8】將十進制小數(shù)0.6875轉換成十六進制小數(shù)。其過程如下:0.68751611.00000.0000整數(shù)部分為11,即A-1=B余下的小數(shù)部分為0,結束最后結果為(0.6875)10=(0.A-1)16=(0.B)16【例1-9】
將十六進制數(shù)61.B轉換成十進制數(shù)。其過程如下:
(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.二進制與八進制、十六進制數(shù)之間的轉換1)二進制數(shù)轉換成八進制數(shù)
方法:以小數(shù)點為中心分別向左向右每三位一組進行劃分,末尾不夠3位補0,將每組變?yōu)榘诉M制數(shù)即可。2)八進制數(shù)轉換二進制數(shù)方法:將每一位八進制數(shù)分解成對應的三位二進制數(shù)。3)二進制數(shù)轉換成十六進制數(shù)
方法:以小數(shù)點為中心分別向左向右每四位一組進行劃分。末尾不夠4位補0,將每組變?yōu)槭M制數(shù)。4)十六進制數(shù)轉換二進制數(shù)
方法:將每位十六進制數(shù)轉換成對應的四位二進制數(shù)。【例1-10】直接將二進制數(shù)11110.11轉換成八進制數(shù)。
011 110 . 1103 6 . 6(11110.11)2=(36.6)8【例1-11】直接將八進制數(shù)35.6轉換成二進制數(shù)。
3 5 . 6011 101 . 110(35.6)8=(11101.11)2【例1-12】直接將二進制11110.11轉換成十六進制數(shù)。0001 1110 . 11001 E . C(11110.11)2=(1E.C)16【例1-13】直接將十六進制數(shù)0EF.CH轉換成二進制數(shù)。
E F . C1110 1111 . 1100(EF.C)16=(11101111.11)21.2計算機中數(shù)與字符的編碼1.2.1數(shù)值數(shù)據的編碼及其運算
1.二進制數(shù)的編碼及運算機器數(shù):帶符號的二進制數(shù)值數(shù)據在計算機內部的編碼。
真值:機器數(shù)所代表的實際值。二進制數(shù)據的正負的表示+(0)-(1)
常用編碼:原碼、反碼、補碼
1)二進制數(shù)原碼編碼方法2n-1>X≥00≥X>-2n-1(1)二進制正、負數(shù)的原碼就是符號化的機器數(shù)真值本身
(2)原碼表示數(shù)的范圍:[-(2n-1-1),(2n-1-1)](3)真值0的原碼可表示為兩種不同的形式
+0[+0]原=00000000B-0[-0]原=10000000B2)二進制數(shù)反碼編碼方法2n-1>X≥00≥X>-2n-1二進制正數(shù)的反碼就是其原碼。二進制負數(shù)的反碼就是機器數(shù)符號位保持不變,其余按位取反。反碼表示數(shù)的范圍:[-(2n-1-1),(2n-1-1)](3)零的反碼有兩種表示法
[0]反=000…0n-1個0[0]反=111…1n-1個1
3)二進制數(shù)補碼編碼方法結論:二進制正數(shù)的補碼就是其原碼。二進制負數(shù)的補碼就是機器數(shù)符號位保持不變,其余位取反碼后末位加1。0≤X<2n-1-2n-1≤X<0正數(shù)的補碼就是其原碼。負數(shù)的補碼就是機器數(shù)符號位保持不變,其余位取反碼后末位加1,即:[x]補=[x]反
+1補碼表示數(shù)的范圍:[-2n-1,(2n-1-1)][0]補=000。。。。0n個0補碼的性質1.補碼表示數(shù)時,減運算可以用加上減數(shù)的補碼來代替。即
A-B=(A+[-B]補)(MOD2n)2.用補碼表示的數(shù)相加時,如果兩數(shù)和的絕對值不產生溢出,并按下面的規(guī)則作兩數(shù)的補碼運算,則得到的結果仍然是和的補碼。第一要把符號位當作數(shù)一樣參加運算。第二符號位相加后,如有進位出現(xiàn),則將其舍去。[X+Y]補=[X]補+[Y]補[X-Y]補=[X]補+[-Y]補3.[[x]補]補=[x]原有符號數(shù)運算時的溢出問題
計算機運算時由于位數(shù)的限制,會產生溢出。有符號數(shù)加減運算采用雙高位法判別是否溢出。
CS:最高位進位
CP:次高位進位
P=CSXORCP=1且CS=0正溢出
=1且CS=1負溢出
=0不溢出【例1-15】機器字長n=8位,X=-48D,求[X]補。(1)將-48D轉換為二進制數(shù):-00110000B。(2)變?yōu)榉创a,11001111B,(3)末位加1后為,[-48]補
=11010000B=0D0H
字長=16時,對[-48]補進行擴展
[-48]補=1111111111010000B=0FFD0H
2.無符號整數(shù)的編碼及運算規(guī)則在某些情況下,計算機要處理的數(shù)據全是正數(shù),此時機器數(shù)再保留符號位就沒有意義了。這時,將機器數(shù)最高有效位也作為數(shù)值位處理,也就是說,假設機器字長為n位,則有符號整數(shù)的編碼可表示為符號位數(shù)值位
1位n-1位無符號整數(shù)的編碼可表示為數(shù)值位n位
無符號整數(shù)的表示范圍是:0≤N≤2n-1。例如,當n=8位時,表示范圍是:0≤N≤255;當n=16位時,表示范圍是:0≤N≤65535。計算機中最常見的無符號整數(shù)是地址,另外,雙字長數(shù)據的低位字也是無符號整數(shù)。要注意的是,計算機本身不論是對有符號數(shù)還是無符號數(shù),總是按照補碼的運算規(guī)則做運算。
3.十進制數(shù)的編碼及運算人們在日常生活中習慣使用十進制數(shù),而在計算機內,采用二進制表示和處理數(shù)據更方便。因此,計算機在輸入和輸出數(shù)據時,要進行十→二和二→十的進制數(shù)轉換。但是,在某些特定的應用領域中(如商業(yè)統(tǒng)計),數(shù)據的運算很簡單,但數(shù)據的輸入和輸出量很大,這樣,進制轉換所占的時間比例就會很大。從提高計算機的運行效率考慮,可以采用在計算機內部直接用十進制表示和處理數(shù)據的方法。以下介紹在計算機內部的十進制數(shù)的編碼方法及運算方法。
十進制數(shù)的每一個數(shù)位的基為10,但到了計算機內部,必須用基2碼對每個十進制數(shù)位進行編碼,所需要的最少的基碼的位數(shù)為lb10(即log210),取整數(shù)為4。4位基2碼有16種不同的組合,怎樣從中選擇出10個組合來表示十進制數(shù)位的0~9,有非常多的方案,最常見的是8421碼。8421碼是指4個基2碼的位權從高到低分別為8、4、2、1,選擇的是0000,0001,0010,…,1001這10種組合,用來表示0~9這10個數(shù)位,如表1-3所示。表1-3BCD碼表
這種編碼的特點是:這4個基2碼之間滿足二進制規(guī)則,而十進制數(shù)位之間是十進制計數(shù)規(guī)則。因此,這種編碼實質上是二進制編碼的十進制數(shù)(BinaryCodedDecimal),因此,簡稱BCD碼或二一十進制碼。十進制數(shù)碼01234567898421碼0000000100100011010001010110011110001001【例1-19】將十進制數(shù)67.9轉換成BCD碼。其過程如下:
6 7 . 90110 0111 . 1001所以(67.9)10=(01100111.0111)BCD【例1-20】將BCD碼10010110.0110轉換成十進制數(shù),其過程如下:10010110 . 01109 6 . 6所以(10010110.0110)BCD=(96.6)10
BCD碼的運算規(guī)則:BCD碼是十進制數(shù),而運算器對數(shù)據做加減運算時,都是按二進制運算規(guī)則進行處理的。這樣,當將BCD碼傳送給運算器進行運算時,其結果需要修正。
修正的規(guī)則是:當兩個BCD碼相加,如果和等于或小于1001(即9H),不需要修正;如果相加之和在1010到1111(即0AH~0FH)之間,則需加6H進行修正;如果相加時本位產生了進位,也需加6H進行修正。
這樣做的原因是,機器按二進制相加,所以4位二進制數(shù)相加時,是按“逢十六進一”的原則進行運算的,而實質上是2個十進制數(shù)相加,應該按“逢十進一”的原則相加,16與10相差6,所以當和超過9或有進位時,都要加6進行修正。下面舉例說明?!纠?-21】計算1+8的值如果將1和8送給機器進行加法運算,其運算過程如下:0001+)10001001結果是1001,即十進制數(shù)9,1+8=9正確。【例1-22】需要修正BCD碼運算值的舉例。①計算5+7的值。0101+)01111100結果大于9+)0110加6修正
10010結果是0010,即十進制數(shù)2,還產生了進位。5+7=12,結論正確。12②計算9+9的值。1001+)100110010+)011011000
結果是1000,即十進制的8,還產生進位,故加6修正。9+9=18,結論正確。18
若做減法運算,其修正規(guī)則為:當兩個BCD碼相減,如果差等于或小于1001,不需要修正;如果相減時本位產生了借位,則應減6H加以修正。
原因是:如果有借位,機器將這個借位當十六看待,而實際上應該當十看待,因此,應該將差值再減6H才是BCD碼的正確結果值。下面舉兩個例子進行說明?!纠?-23】
需要修正BCD碼運算值的舉例。①計算9-7的值。1001-)01110010結果值是0010,即十進制數(shù)2。9-7=2,結論正確。2②計算7-9的值?!l(fā)生借位10111-)10011110-)0110減6修正
1000
結果值是1000,即十進制數(shù)8,有借位。7-9=8,結論正確。(8是-2以10為模的補碼,在機器中,負數(shù)都以補碼形式表示)8
在計算機中BCD碼有兩種格式:壓縮BCD碼非壓縮BCD碼
(1)非壓縮BCD碼:1字節(jié)(8位二進制)中僅表示一位BCD數(shù),例如:(00000110)BCD=6。
(2)壓縮BCD碼:1字節(jié)中僅表示兩位BCD數(shù),例如:(01100110)BCD=66。另外,BCD碼除了采用上述方法調整以外,也可以在交付計算機運算之前,先將BCD碼轉換為二進制數(shù),然后交付計算機運算,運算以后再將二進制結果轉換為BCD碼。1.2.2非數(shù)值數(shù)據的二進制編碼現(xiàn)代計算機不僅要處理數(shù)值數(shù)據,而且還要處理大量的非數(shù)值數(shù)據,像英文字母、標點符號、專用符號、漢字等等。前面已說過,不論什么數(shù)據,都必須用基2碼編碼后才能存儲、傳送及處理,非數(shù)值數(shù)據也不例外。下面分別討論常見的非數(shù)值數(shù)據的二進制編碼方法。
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位(即一個字節(jié))表示的。一般情況下,將最高位置為“0”,即B7為“0”。需要奇偶校驗時,最高位用做校驗位。(2)ASCII碼共編碼了128個字符,它們分別是:*32個控制字符,主要用于通信中的通信控制或對計算機設備的功能控制,編碼值為0~31(十進制)。*間隔字符(也稱空格字符)SP,編碼值為20H。*刪除控制碼DEL,編碼值為7FH。*94個可印刷字符(或稱有形字符)。這94個可印刷字符編碼有如下兩個規(guī)律:①字符0~9這10個數(shù)字符的高3位編碼都為011,低4位為0000~1001,屏蔽掉高3位的值,低4位正好是數(shù)據0~9的二進制形式。這樣編碼的好處是既滿足正常的數(shù)值排序關系,又有利于ASCII碼與二進制碼之間的轉換。②英文字母的編碼值滿足A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件結尾教學課件
- XX年五年級科學下冊全冊教案(湘教版)
- 體育課課文教學課件教學課件教學
- 2024年經濟技術開發(fā)區(qū)社發(fā)局農業(yè)農村科招考工作人員考試題及答案
- 列夫托爾斯泰說課
- 正骨勞務合同模板
- 香港買車位合同模板
- 合同模板 合資
- 荒山贈與合同模板
- 租賃工程合同模板
- 創(chuàng)傷性硬膜下出血個案護理
- 公司治理 課件 第4章 董事會治理
- 在線學習平臺的學習環(huán)境設計與學生支持
- 蘇教版六年級上冊分數(shù)乘除混合計算練習300題及答案
- 山東航空公司招聘測試題
- 保山永子工藝圖片
- 學會放松和冥想的技巧
- 末梢采血護理課件
- 《孕期心理保健》課件
- 第四屆中國電信“創(chuàng)智杯”數(shù)字化轉型銷售大賽數(shù)字營銷組織與門店管理類知識競賽試題附有答案
- 《勞動教育通論》勞動者保障:社會保險與福利
評論
0/150
提交評論