x第2章 計算機運算基礎_第1頁
x第2章 計算機運算基礎_第2頁
x第2章 計算機運算基礎_第3頁
x第2章 計算機運算基礎_第4頁
x第2章 計算機運算基礎_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章計算機運算基礎進位計數(shù)制。數(shù)的表示方法。

數(shù)的運算方法。本節(jié)重點:數(shù)的表示方法,二進制加法電路。本節(jié)難點:數(shù)的表示方法,二進制加法電路。本節(jié)內容:第一節(jié)數(shù)制一、進位計數(shù)制:按進位的原則進行記數(shù)的數(shù)制,稱為進位記數(shù)制。1、十進制(DecimalSystem):逢十進一共有十個數(shù)碼:0,1,2,...,952389十進制萬千百十個進位記數(shù)制兩個最基本概念a權:個,十,百,千等表示權。十進制的權是以10為底的冪,第i位的權為10i。

b基:所使用數(shù)碼的個數(shù)。十進制的基是10。52389=5x104+2x103+3x102+8x101+9x1002、二進制(BinarySystem):逢二進一共有2個數(shù)碼:0,1

權是2i;基是2。3、八進制(OctaveSystem):逢八進一共有8個數(shù)碼:0,1,2,...,7

權是8i;基是8。4、十六進制(HexadecimalSystem):逢十六進一共有16個數(shù)碼:0,1,...,9,A,...,F(xiàn)

權是16i;基是16。十進制二進制八進制十六進制十進制二進制八進制十六進制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F7111771610000201081000108表2-1常用記數(shù)制表示數(shù)的方法

二、計算機中為什么要用二進制或十六進制記數(shù)能用最少的狀態(tài)表示最大的數(shù),這樣計算機硬件結構最簡單十進制八進制二進制狀態(tài)數(shù)40(4位)40(5位)40(10位)最大值999985-1=32767210-1=1048575采用x進制數(shù),位數(shù)為n,x.n為狀態(tài)數(shù)。假設x.n=c(常數(shù)),其表示的最大數(shù)為xn-1。設f(x)=xn-1,顯然f(x)為最大時最節(jié)省狀態(tài)。令p(x)=f(x)+1=xn,顯然f(x)最大時p(x)也最大。對p(x)=xn=xc/x兩邊取對數(shù)并求導,令導數(shù)為0即可取得極大值,經(jīng)過推導得:

ln

x=1,即x=2.71828理論上3進制所用的狀態(tài)量最少,其次為2進制。但因電路中一般只有2種狀態(tài),故計算機中采用2進制數(shù)是必然的。因二進制表示數(shù)的位數(shù)很長,為了書寫簡短,便于記憶,也采用16進制。如:(1010

1101

1000

0101)2=(AD85)16

A

D

8

5三數(shù)制之間的轉換

1十進制

二進制整數(shù)部分:除2取余法2532613631001011122222低位高位(52)10=(110101)2整數(shù)部分1整數(shù)部分0整數(shù)部分10.625

21.250.250.50

21.0

2(0.625)10=(0.101)2小數(shù)部分:乘2取整法注:如果小數(shù)部分不是0,則要繼續(xù)乘下去。對于有些數(shù),小數(shù)部分不可能為0,則只能根據(jù)精度要求取近似值。

2二進制

十進制

按權展開即可:按權展開即可:3二進制

十六進制將二進制數(shù)4位一組,用相應16進制數(shù)表示,不足部分添0。(0001

0110

1101.0100

1010)2

=(16D.4A)164十六進制

二進制一位十六進制數(shù)可以用四位二進制數(shù)表示。(0001100001100011.01011011)2(1863.5B)16所以(1863.5B)16=(0001100001100011.01011011)2第二節(jié)數(shù)的表示方法一、真值與機器數(shù)機器數(shù):一個數(shù)在機器中的表示形式;真值:這個數(shù)本身,即用+-號表示的數(shù);N1=+1001010BN2=-1001010B0100101011001010符號位數(shù)值部分帶符號數(shù):在符號位用0表示正,1表示負。比如上面的N1=74,N2=-74。無符號數(shù):全部有效位均表示數(shù)的大小,無符號位。01001010表示無符號數(shù)7411001010表示無符號數(shù)202

二、數(shù)的定點和浮點表示方法定點表示法:小數(shù)點在數(shù)中的位置是固定不變的。浮點表示法:小數(shù)點在數(shù)的位置是浮動的。定點表示法:對于一十進制數(shù):231.6=0.2316*103類似的,對于二進制N有

N=2P*SP:數(shù)N的階碼,指明了小數(shù)點的位置;S:數(shù)N的尾數(shù),表示數(shù)N的全部有效數(shù)字。計算機中通常有兩種約定:假定P=0,且尾數(shù)S為純整數(shù),這時定點數(shù)只能表示整數(shù)。假定P=0,且尾數(shù)S為純小數(shù),這時定點數(shù)只能表示小數(shù)。符號位尾數(shù)S.符號位尾數(shù).SN=-101111111011111符號位尾數(shù)(純整數(shù))2浮點表示法:階碼是個可變的數(shù)值設N=2P*SP正負用階符Pf表示:Pf=0時階碼為正,Pf=1時階碼為負。S正負用數(shù)符Sf表示:Sf=0時尾數(shù)為正,Sf=1時尾數(shù)為負。數(shù)符階符階碼尾數(shù)高8位尾數(shù)低8位AddrAddr+1Addr+2

76543210三、原碼、反碼、補碼原碼、反碼、補碼是帶符號機器數(shù)的表示方法。1、模的概念我們把一個計量器的容量稱為?;蚰?shù),記為M或modM。一個n位2進制寄存器的模為M=2n。模的特點:當模為2n時,2n和0在機器中表示方法是相同的。n=4,24=16=10000000010=000000002、原碼表示法D7D6D5D4D3D2D1D0符號位數(shù)的大小0正數(shù)1負數(shù)[+1001010B]原=01001010B[-1001010B]原=11001010B原碼的特點:(1)數(shù)值部分即為帶符號數(shù)的二進制數(shù)(2)“0”有+0和

0之分(+0)原

=00000000B(

0)原

=10000000B(3)8位二進制原碼表示數(shù)的范圍1111,1111B~01111111B即

127~+1273反碼表示法正數(shù)的反碼與其原碼相同。負數(shù)的反碼:符號位不變,數(shù)字位按位取反。

[+127]原

=[+127]反

=01111111B[

127]原

=11111111B[

127]反=10000000B反碼的特點:“0”有

0和

0之分

[+0]反

=00000000B,[

0]反

=11111111B8位二進制反碼表示數(shù)的范圍10000000B~01111111B即

127~+1274補碼的表示0123456789順時針為加逆時針為減A=5,B=3A-B=2如果順時針轉動7格,即A+B'=5+7=12指針仍然指2。稱B=-3與B'=7對模10同余,B'稱為B對模10的補數(shù)或補碼。設B為一負數(shù),其模為M,則B的補碼為M+B。在2進制中,通常以2n為模,因此:

[X]補=2n+XX為正數(shù),[X]補就是X本身;X為負數(shù),[X]補就是從2n減去|X|例:當X1=-1010011,求其補碼?[X1]補=[-1010011]=28-1010011=(11111111+1)-1010011=(11111111-1010011)+1=[X1]反+1所以有:[X1]補=[X1]反+1正數(shù)的補碼與其原碼相同。負數(shù)的補碼:符號位不變,數(shù)字位取反最低位加1,也即反碼+1。結論:(2)8位二進制補碼表示數(shù)的范圍:10000000B~01111111B即

128~+127(1)[+0]補=[-0]補=00000000B

[+0]補=[+0]原=00000000[-0]補=[-0]反+1=11111111+1=100000000補碼的特點:對于負數(shù):(1)已知[X]原,求[X]補符號位不變,數(shù)字位取反,最低位加1。(2)已知[X]補,求[X]原[[X]補]補=[X]原(3)求補:已知[X]補,求[-X]補連同符號位一起取反,最低位加1。8位有符號數(shù)的表示范圍對8位二進制數(shù):原碼:-127~+127

反碼:-127~+127

補碼:-128~+127

想一想:16位有符號數(shù)的表示范圍是多少?

5常用編碼(1)二-十進制(BCD)碼用二進制編碼表示十進制數(shù)稱為BCD碼。一位十進制數(shù)需要用4位二進制編碼表示。例如:(0100100101111000.000101001001)BCD

(4978.149)DBCD碼優(yōu)點:與十進制轉換方便,容易閱讀;缺點:表示的數(shù)位長,增加電路復雜性,減慢運算速度。當希望計算機直接用十進制進行運算時,應將數(shù)用BCD碼來存儲和運算。但要對二進制運算結果進行十進制調整。0100+001101114370100+10001100481212的BCD碼:00010010例BCD碼加法BCD加法調整規(guī)律:若兩個BCD數(shù)相加結果大于1001,亦即十進制數(shù)大于9,則應做加0110(即加6)調整。若兩個BCD數(shù)相加結果并不大于1001,但卻產(chǎn)生了進位,相當于十進制運算大于等于16,則也要做加0110(加6)調整。010101000100100010011100

011010100010011000010000

0010+)+)+)例加6調整5448高4位加6調整102BCD減法調整規(guī)律:若兩個BCD數(shù)相減時,低4位向高4位有借位,在低4位就要做減0110(即減6)調整。(2)字母數(shù)字代碼----ASCII碼及通用字符編碼ASCII:AmericanStandardCodeforInformationInterchange,即美國信息交換標準代碼。采用7位二進制代碼對字符進行編碼數(shù)字0~9的編碼是0110000(30H)~0111001,它們的高3位均是011,后4位正好與其對應的二進制代碼(BCD碼)相符。最高位通常做奇偶校驗用。

0000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N^n~1111SIUS/?O_oDELNUL空SOH標題開始STX正文結束ETX本文結束EOT傳輸結束ENQ詢問ACK承認BEL報警符BS退格HT橫向列表LF換行VT垂直制表FF走紙控制CR回車SO移位輸出SI移位輸入SP空格低四位高三位例:1101+1001=101101101+)10011011

0第三節(jié)數(shù)的運算方法一基本運算加法:0+0=00+1=1+0=11+1=10乘法:0*0=00*1=1*0=01*1=1例:1101-0111=0110

1

1

01-)011101

10例:1101*110=10011101101+)110

00001101

11011001110例:11011÷101=101余10

10110111011

101111

10110二、補碼的加減法運算特點:符號位與數(shù)值部分一起參加運算,并且自動獲得結果(包括符號和數(shù)值部分)。1、補碼的加法運算因為[X]補+[Y]補=2n+X+2n+Y=2n+(X+Y)=[X+Y]補所以有:

[X]補+[Y]補=[X+Y]補例:X=+10010B,Y=-01111B,則

[X]補

=010010+)[Y]補

=110001[X+Y]補=1000011符號位的進位,丟掉2、補碼的減法運算

[X]補-[Y]補=[X]補+[-Y]補=[X-Y]補例:X=-0111000B,Y=-0010001B

[X]補=11001000

[Y]補=11101111[-Y]補=00010001[X]補=11001000+)[-Y]補=00010001[X]補+[-Y]補=11011001[X-Y]補=[X]補+[-Y]補=11001001三、定點乘法運算實現(xiàn)定點乘法運算就是確定乘積的符號和乘積的數(shù)值。符號:同號相乘,乘積為正;異號相乘,乘積為負。數(shù)值:兩數(shù)尾數(shù)之積。例:兩個無符號數(shù)A=1011,B=11011011被乘數(shù)*)11

0

1乘數(shù)

1011

0000

1011101110001111部分積乘積結論:兩個n位無符號數(shù)相乘,乘積的位數(shù)為2n位;乘積等于各部分積之和。四、邏輯運算(布爾代數(shù))布爾代數(shù)也稱邏輯代數(shù)。和普通代數(shù)一樣,可以寫成下面這樣的表達式:

Y=f(A,B,C,D)特點:1.變量只有兩種可能的數(shù)值:0

,12.函數(shù)f只有三種基本方式:“與”“或”“非”。由此可導出其他的邏輯運算:“異或”,“同或”,“與或非”。1.與運算(Y=A·BY=A∧BY=A×B

)與運算也稱為邏輯乘法。運算規(guī)則為

Y=0·0=0Y=1·0=0

Y=0·1=0Y=1·1=1Y=1結論:二者皆真(1)結果為真(1),有一偽者(0)結果必為偽(0)。“見0得0,全1為1”。例:11001010A×)00001111B00001010YY=A·B=00001010Y=02.或運算(Y=A+BY=A∨B)或運算也稱為邏輯加法。運算規(guī)則為

Y=0+0=0Y=0Y=1+0=1

Y=0+1=1Y=1+1=1結論:二者皆偽(0)結果必偽(0),有一真者(1)結果為真(1)?!耙?得1,全0為0”。Y=1例:10101A+)11011B11111YY=A+B=111113.反運算(Y=)反運算也稱為非運算,邏輯否定。運算規(guī)為:

=0=1

當A為多位時,A=A1A2A3A4...An。則邏輯反例:設A=11010000,則Y==001011114.異或運算(Y=AB)或運算也稱為邏輯加法。運算規(guī)則為

Y=00=0Y=0Y=10=1

Y=01=1Y=11=0Y=0結論:兩變量相同,結果為0;兩變量不同結果為1。Y=1例:1010A

)1101B0111YY=AB=01115.布爾代數(shù)的基本運算規(guī)律恒等式

A·0=0A·1=AA·A=AA+0=AA+1=1A+A=AA+=1A·=0=A運算規(guī)律交換律

溫馨提示

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

評論

0/150

提交評論