ComputerBasics-Chapter-01-碼制及其運算_第1頁
ComputerBasics-Chapter-01-碼制及其運算_第2頁
ComputerBasics-Chapter-01-碼制及其運算_第3頁
ComputerBasics-Chapter-01-碼制及其運算_第4頁
ComputerBasics-Chapter-01-碼制及其運算_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1.6運算基礎一個R進制數具有以下主要特點具有R個不同數字符號:0、1、·······、R-1逢R進一S=an-1an-2…a1a0.a-1a-2…a-m

=an-1×Rn-1+

an-2×Rn-2+…+a1×R1+a0×R0+a-1×R-1…+a-m×R-m上述R進制數S可用多項式(稱為按權展開式)表示為:1.6.1進位計數制

用an-1an-2…a1a0.a-1a-2…a-m書寫表方式示數據的方法稱為位置表示法。十進制數具有十個不同的數字符號,即0-9逢十進一特點一個十進數可以用它的按權展開式表示。例如:(758.75)10=7×102+5×101+8×100+7×10-1+5×10-21.1.6.1進位計數制

二進制數一個二進制數可以用它的按權展開式表示。例如:(10110.101)2=1×24+0×23+1×22+1×21+0×20

+1×2-1+0×2-2+1×2-3

=(22.625)10具有兩個不同的數字符號,即0和1逢二進一特點2.1.6.1進位計數制

(1AF.4)16=1×162+10×161+15×160+4×16-1=(430.25)10一個十六進制數可以用它的按權展開式表示。例如:具有十六個不同的數字符號,即0-9和A-F逢十六進一特點3.十六進制數1.6.1進位計數制

十進制二進制16進制十進制二進制16進制000000910019100011101010A200102111011B300113121100C401004131101D501015141110E601106151111F701117161000010810008171000111三種數制對照表1.6.1進位計數制

【例】十進制數22.625轉換為二進制數222112…余0(低位)52…余122…余112…余00…余1(高位)0.625×21.25…取整數1(高位)×20.5…取整數0×21.0…取整數1(低位)

(0.625)10=(0.101)2所以:(22)10=(10110)2結果:(22.625)10=(10110.101)2整數部分:小數部分:4.各種數制之間的轉換1.6.1進位計數制

十進制數430.25轉換為十六進制數430162616…余14→E(低位)116…余10→A…余1(高位)整數部分:0小數部分:0.25×164.0…取整數4結果:(430.25)10=(1AE.4)16【例】1.6.1進位計數制

注意①整數部分轉換,每次只求整數商,將余數作為轉換結果的一位,重復對整數商除基數,一直除到商為0為止。②小數部分轉換,每次把乘積的整數取走作為轉換結果的一位,對剩下的小數繼續進行乘法運算。對某些數可以乘到積的小數為0(如上述兩例),這種轉換結果是精確的;對某些數(如0.3)永遠不能乘到積的小數為0,這時要根據精度要求,取適當的結果位數即可,這種轉換結果是不精確的。1.6.1進位計數制

例如:十六進制數1AE.4

000110101110.0100即(1AE.4)16=(110101110.01)2若要將二進制數轉換為十六進制數,只要以小數點為分界,分別向左和向右每四位二進制位分為一組(若最高位或最低為不夠四位則補0),對應轉換為十六進制數即可。例如:二進制數110101110.01000110101110.0100十六進制數1AE.4即(110101110.01)2=(1AE.4)161.6.1進位計數制

5.十六進制、二進制之間的轉換二進制數的算術運算【例

】10100+1101=100001【例

】100001-11010=11110100100001+1101-11010100001111【例

】1101×1011=10001111【例

】11100÷101=101┅┅111101101┅┅商

×1011101111001101101110110000000101+110111┅┅余數

100011116.1.6.1進位計數制

二進制數的邏輯運算【例】10100101AND10001011【例】10100101OR10001011=10000001=101011111010010110100101AND10001011OR1000101110000001101011117.abNOTaNOTbaANDbaORbaXORb00110000110011100101111001101.6.1進位計數制

【例】NOT10100101【例】10100101XOR10001011=01011010=0010111010100101NOT10100101XOR100010110101101000101110二進制數的邏輯運算7.1.6.1進位計數制

BCD編碼表十進制8421BCD碼十進制8421BCD碼0000060110100017011120010810003001191001401001000010000501011100010001二進制編碼1.6.21.二進制編碼的十進制數二進制編碼1.6.2BCD碼是十進制數,有10個不同的數字符號,且是逢十進位的;但它的每一位是用4位二進制編碼來表示的,因此稱為二進制編碼的十進制數。BCD碼比較直觀,例如十進制數65用BCD碼書寫為01100101,BCD碼01001001.0111表示的十進制數為49.7。1.二進制編碼的十進制數雖然BCD碼是用二進制編碼方式表示的,但它與二進制之間不能直接轉換,要用十進制作為中間橋梁,即先將BCD碼轉換為十進制數,然后再轉換為二進制數;反之亦然。字母與字符的編碼

2.另外,在計算機中,漢字編碼采用國標碼(GB18030-2000),它采用單、雙、四字節混合編碼,每個字節的最高位為1,并以此來區分漢字和ASCⅡ碼。字母和字符也必須按照特定的規則,用二進制編碼才能在機器中表示。編碼可以有各種方式,目前微機中最普遍采用的是ASCⅡ碼(AmericanStandardCodeforInformationInterchange,美國標準信息交換碼)。ASCⅡ碼采用7位二進制編碼,故可表示27=128個字符,其中包括數碼(0-9),以及英文字母等可打印的字符。二進制編碼1.6.2字母與字符的編碼

2.二進制編碼1.6.2原碼●正數的符號位用0表示,負數的符號位用1表示,數值位保持不變。這種方法稱為原碼。原碼的定義為:

若X≥+0

則[X]原=X

若X≤-0

則[X]原=2n-1–X

其中n為原碼的位數。1.6.3帶符號數的表示1.反碼⑴“0”有兩種表示方法:[+0]反=00000000,[-0]反=11111111⑵8位二進制反碼真值范圍為-127~+127;16位反碼真值范圍為-32767~+32767。⑶當一個帶符號數用反碼表示時,最高位為符號位。特點2.反碼的定義為:若X≥+0則[X]反=X

若X≤-0則[X]反=2n+X-1

其中n為反碼的位數。1.6.3帶符號數的表示補碼●在鐘表上,指針正撥12小時或倒撥12小時,其時間值是相等的,即在鐘表上X+12=X-12(mod12)。模的概念補碼的引入●對于n位二進制數,其計數范圍為0~(2n-1),在該計數器上加2n或減2n結果是不變的,我們稱2n為n位計數系統的模。對鐘表來說,它的模為12。●在鐘表上,如果現在時間是6點整,而鐘表卻指著8點整,快了2小時,校準的方法是正撥10小時或倒撥2小時,結果都正確,即:8+10=6(mod12)順撥,8-2=6(mod12)倒撥。3.1.6.3帶符號數的表示[+3]補=[+3]原=[+3]反=00000011[-3]補=[-3]反+1=11111100+1=11111101[+0]補=[+0]原=[+0]反=00000000[-0]補=[-0]反+1=11111111+1=00000000補碼的求法●對n為二進制數,模為2n

,則[X]補=(2in+X),MOD2n,i為正整數。補碼的定義●若X≥+0則[X]補=X,若X≤-0則[X]補=2n+X,其中n為補碼的位數。如果X≥0,則[X]補=(2in+X)MOD2n=X,即正數的補碼為原正數不變。如果X≤0,則[X]補=(2n+X)MOD2n=2n-1+X+1=[X]反+1,即負數的補碼等于負數的反碼加1,也就是等于負數原碼除符號位外求反加1。求法與應用[+0]補=[-0]補==00000000,即0的補碼為0,且只有一種表示方法。注意補碼1.6.3帶符號數的表示⑴[+0]補=[-0]補=00000000。⑵8位二進制補碼真值范圍為-128~+127,16位補碼真值范圍為-32768~+32767。⑶一個用補碼表示的二進制數,最高位為符號位,當符號位為“0”即正數時,其余位即為此數的二進制值;但當符號位為“1”即負數時,其余位不是此數的二進制值,其值為后面各位按位取反,在最低位加1。當采用補碼表示時,可以把減法運算轉換為加法運算,即[X±Y]補=[X]補+[±Y]補。8位帶符號的補碼特點補碼1.6.3帶符號數的表示數的表示方法十進制數二進制數原碼反碼補碼-128-127-126…-2-1-0+0+1+2…+126+127-10000000-1111111-1111110……-0000010-0000001-0000000+0000000+0000001+0000010……+1111110+1111111----1111111111111110……100000101000000110000000000000000000000100000010……0111111001111111----1000000010000001……111111011111111011111111000000000000000100000010……0111111001111111100000001000000110000010……111111101111111100000000000000000000000100000010……01111110011111111.6.3帶符號數的表示●所謂溢出是指運算結果超出了規定長度數據的表數范圍,在此特指帶符號數的補碼運算溢出。對字長為n位的補碼表示的帶符號數,其最高位表示符號,其余n-1位表示數值,其表數范圍為-2n-1~+2n-1-1。如果一個運算的結果超出了這個范圍,就稱為補碼溢出(簡稱溢出),這時運算結果是錯誤的。例如,對于8位字長的二進制補碼數,其表數范圍為-128~+127。如果運算結果超出了此范圍,就會產生溢出。1.6.3帶符號數的表示4.補碼運算的溢出及其判斷方法●已知[60]補=00111100,[-60]補=11000100[100]補=01100100,[-100]補=10011100[60]補=00111100[-60]補=11000100[60]補=00111100+[100]補=01100100+[-100]補=10011100+[-100]補=1001110010100000

10110000011011000

自然丟失←┘↓↓符號符號符號即[60+100]補=10100000,兩個正數相加,結果為負數,是錯誤的;[(-60)+(-100)]補=01100000,兩個負數相加,結果為正數,是錯誤的;[60+(-100)]補=11011000=-40。前兩個運算結果之所以不正確,是因為其相加結果分別為+160和-160,均超出了表數范圍,使結果的數值部分占據了符號位,產生了溢出錯誤。但一個正數與一個負數相加,一定不會產生溢出錯誤。1.6.3帶符號數的表示●判斷溢出的方法很多,上例根據參加加法運算的兩個數據的符號及運算結果的符號可以判斷是否溢出。計算機中,根據加法運算中在最高位與次高位的兩個進位來判斷。設8位二進制數的各位記為D7D6D5…D0,運算中兩個D6位的進位記為C6,兩個D7位的進位記為C7,用OV=C7XORC6(XOR是邏輯異或運算)判別式可以判斷溢出情況。如果OV=0,表示結果無溢出,否則當OV=1時,表示結果有溢出。請注意進位與溢出的區別。進位是指運算結果的最高位向更高位的進位,如上所述的8位運算中的C7。進位通常記做Cy,Cy=0表示無進位,Cy=1表示有進位。而溢出是用最高位進位(即Cy)與次高位進位的邏輯異或結果來判斷的。通過上例可以看出,有進位不一定就有溢出,無進位也不一定就無溢出。同理,有溢出不一定就有進位,無溢出也不一定就無進位(請計算(-60)+100來驗證)。可見,進位和溢出是兩個不同性質的概念,不能混淆。1.6.3帶符號數的表示定點表示法●約定小數點在符號位之后、數值部分最高位之前,因此數據是純小數,故又稱定點小數,其格式為:符號位數值部分(尾數)小數點位置定點小數法比例因子的選擇:例如有兩個數為010.01和001.100,若進行兩數相加時:010.01+001.100=(0.1001+0.0110)×22

,該比例因子選為22

,而且兩數相加結果仍小于1。1.6.4數的定點和浮點表示定點小數法●約定小數點的位置固定在數值部分的最低位之后,也就是把數表示為純整數,其格式如下:符號位數值部分(尾數)小數點位置定點整數表示法也有比例因子的選擇問題,例如上例兩個數化為定點整數運算則為(01

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論