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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第二章微機運算基礎(chǔ)微型計算機原理及應(yīng)用主編:李繼燦清華大學(xué)出版社內(nèi)容提要22.4二進制數(shù)的運算

2.3二進制編碼2.1&2進位記數(shù)制及轉(zhuǎn)換

2.6帶符號數(shù)的表示2.5定點數(shù)和浮點數(shù)3理解進位記數(shù)制的基本特點。熟練掌握各種進位記數(shù)制之間相互轉(zhuǎn)換的辦法。掌握常用的8421BCD編碼和ASCII編碼。熟練掌握二進制數(shù)的各種算術(shù)運算與邏輯運算方法。理解數(shù)的定點和浮點表示法。理解和熟練掌握補碼及其運算與溢出。學(xué)習(xí)要求4進位記數(shù)制(簡稱進位制):利用符號按照進位原則來記數(shù)的方法生活中的數(shù)制六十進制:1小時=60分,1分=60秒十二進制:1英尺=12英寸,1年=12月十進制:符合人們的習(xí)慣×10=2.1進位記數(shù)制5進位記數(shù)制三要素:數(shù)碼、基數(shù)、位權(quán)

數(shù)碼(Number):用不同的數(shù)字符號來表示一種數(shù)制的數(shù)值,這些數(shù)字符號稱為“數(shù)碼”。

例如:十進制數(shù)碼(0,1,2,…,9)

基數(shù)(Radix,也稱底數(shù)):數(shù)制中所使用的數(shù)碼的個數(shù)

例如:十進制有10個數(shù)碼,基數(shù)為10,逢十進一,借一當(dāng)十進位計數(shù)制的基本概念6結(jié)論:在各進位記數(shù)制中,十進制是人們最熟悉的,二進制是在計算機內(nèi)使用,八進制和十六進制則可看成二進制的壓縮形式。位權(quán)(Weight):某數(shù)制中,每一位所具有的值稱為“位權(quán)”,用基數(shù)的n次冪表示。例如:十進制中位權(quán)表示為,10-2(百分位),10-1(十分位),100(個位),101(十位)進位計數(shù)制的基本概念71二進制Binary

例如:(1001)21001B

2八進制Octal

例如:(317)8317Q

3十進制Decimal

例如:(531)10531D

4十六進制Hexadecimal

例如:(9A1)169A1H

數(shù)字系統(tǒng)中常用的數(shù)制8數(shù)碼:0,1,2,3,4,5,6,7,8,9

基數(shù):10

位權(quán):10i,i=…3,2,1,0,-1,-2,-3…

規(guī)則:逢十進一

表示:(999.99)10,或者(999.99)D

,或者999.99

例如:

(143.75)10=1×102+4×101+3×100+7×10-1+5×10-2

(15)10=?2.1.1十進制(DecimalNumber)9數(shù)碼:0,1

基數(shù):2

位權(quán):2i,i=…3,2,1,0,-1,-2,-3…

規(guī)則:逢二進一

表示:(1101.11)2,或者1101.11B2.1.2二進制(BinaryNumber)0—(2n-1)例如:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2

=

(5.75)10

(1111)2=?

n位二進制無符號整數(shù)表示范圍:最早倡導(dǎo)二進制的是德國科學(xué)家萊布尼茲世界上總共有10種人,一種懂得什么是二進制,一種不懂

10數(shù)碼:0,1,2,3,4,5,6,7

基數(shù):8

位權(quán):8i,i=…3,2,1,0,-1,-2,-3…

規(guī)則:逢八進一

表示:(257)8,或者(257)O

,或者(257)Q

例如:

(23.71)8=2×81+3×80+7×8-1+1×8-2

=(19.890625)10

(17)8=?

2.1.3八進制(OctalNumber)2.1.4十六進制數(shù)(Hexadecimal)數(shù)碼:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13)、E(14),F(15)

基數(shù):16

位權(quán):16i,i=…3,2,1,0,-1,-2,-3…

規(guī)則:逢十六進一,借一當(dāng)16

表示:(257)16,或者(257)H

(F)16=?11例如:

BF3CH=11×163+15×162+3×161+12×160

=11×4096+15×256+3×16+12×1=48956D小結(jié)十進制二進制八進制十六進制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F12各種數(shù)制對照表2.2各種進位數(shù)制之間的轉(zhuǎn)換二進制數(shù)轉(zhuǎn)換為十進制數(shù)方法1:按權(quán)相加方法2:整數(shù)部分、小數(shù)部分分別轉(zhuǎn)換整數(shù)部分(從最高位開始,連續(xù)乘2)假設(shè)5位二進制整數(shù)N,表示為132.2.1任意進制轉(zhuǎn)換為十進制二進制數(shù)轉(zhuǎn)換為十進制數(shù)

例如:二進制整數(shù)10111,轉(zhuǎn)化為十進制數(shù)為結(jié)果:二進制整數(shù)10111,轉(zhuǎn)化為十進制數(shù)2314101112.2.1任意進制轉(zhuǎn)換為十進制二進制數(shù)轉(zhuǎn)換為十進制數(shù)小數(shù)部分(從最低位開始,連續(xù)除2)假設(shè)4位二進制整數(shù)N,表示為152.2.1任意進制轉(zhuǎn)換為十進制二進制數(shù)轉(zhuǎn)換為十進制數(shù)

例如:二進制小數(shù).1011,轉(zhuǎn)化為十進制小數(shù)為結(jié)果:二進制小數(shù).1011,轉(zhuǎn)化為十進制小數(shù)0.6875160.50.750.3750.68752.2.1任意進制轉(zhuǎn)換為十進制2.2.2十進制數(shù)轉(zhuǎn)換為非十進制數(shù)十進制數(shù)轉(zhuǎn)換為二進制數(shù)整數(shù)部分(除2逆取余)17117余數(shù)∴(117)10=(1110101)2258

1229

014

1222

7

03

121

12例:(117)10=(?)20

1或

117D=1110101B2.2.2十進制數(shù)轉(zhuǎn)換為非十進制數(shù)十進制數(shù)轉(zhuǎn)換為二進制數(shù)小數(shù)部分(乘2順取整)18整數(shù)0.8125

×210.625

×210.25

×2

00.5

×210例:(0.8125)10=(?)2=(1101)2注:1.若出現(xiàn)乘積的小數(shù)部分一直不為“0”,根據(jù)計算精度的要求截取一定的位數(shù)即可;2.一個十進制數(shù)不一定有對應(yīng)的二進制數(shù)。2.2.3二/八/十六進制數(shù)的互換轉(zhuǎn)換方法:分組轉(zhuǎn)換(掌握)19二進制→八進制

原則:三位二進制對應(yīng)一位八進制,不足補0

011101111.110357

6∴

011101111.11B=357.6Q十六進制→二進制

A19C

1010000110011100∴A19CH=1010000110011100B2.3二進制編碼計算機只能識別二進制數(shù)二進制編碼數(shù)字:用二進制表示十進制BCD碼字母:ASCII碼符號聲音圖像202.3.1二進制編碼的十進制BCD(BinaryCodeDecimal)碼:用二進制代碼對十進制數(shù)進行編碼,它既具有二進制碼的形式(四位二進制碼),又有十進制數(shù)的特點(每四位二進制碼是一位十進制數(shù))。21二進制與BCD碼之間的轉(zhuǎn)換,需要經(jīng)過十進制十進制數(shù)BCD碼十進制數(shù)BCD碼十進制數(shù)BCD碼0000060110120001001010001701111300010011200108100014000101003001191001150001010140100100001000016000101105010111000100011700010111BCD編碼表例1:十進制數(shù)256,BCD碼為(256)D=(001001010110)BCD例2:十進制數(shù)0.764,BCD碼為(0.764)D=(0.011101100100)BCD22例3:11.25D=(???)BCD=(00010001.00100101)BCD=(1011.01)BCD???×××2.3.1二進制編碼的十進制例4:BCD碼轉(zhuǎn)換為十進制數(shù)(011000111000.100101010100)BCD=(628.954)D例5:二進制數(shù)轉(zhuǎn)換為BCD碼(1011.01)B=1×23+0×22+1×21+1×20+0×2-1+1×2-2)D=11.25D=(00010001.00100101)BCD232.3.1二進制編碼的十進制8421碼:編碼值與ASCII碼字符0到9的低4位碼相同,易于實現(xiàn)人機聯(lián)系。但比純二進制編碼效率低。余3碼:是在8421碼得基礎(chǔ)上,把每個代碼都加0011碼而形成的。它的主要優(yōu)點是執(zhí)行十進制數(shù)相加時,能正確地產(chǎn)生進位信號,而且還給減法運算帶來了方便。格雷碼:循環(huán)碼中的一種,任何兩個相鄰的代碼只有一個二進制位的狀態(tài)不同,有利于抗干擾。242.3.1二進制編碼的十進制2.3.2字母與字符的編碼25

A~Z,a~z及0~9的編碼按順序遞增數(shù)據(jù)編碼,便于檢索。美國信息交換標(biāo)準(zhǔn)代碼(ASCII碼)ASCII碼(AmericanStandardCodeforInformationInterchange)由7位二進制數(shù)組成,可表示27=128種字符。包括:

0~9十個數(shù)字

52個大小寫英文字母

32個專用符號

34個控制符號128個元素非打印類(控制代碼):34個,如回車(0DH)、換行(0AH)等打印類:94個,包括英文字符、數(shù)字和其他可打印的符號等。26數(shù)字0-9的ASCII碼:30H-39H30H+數(shù)值A(chǔ)-Z的ASCII碼:41H-5AHa-z的ASCII碼:61H-7AH

小寫字母的ASCII碼=對應(yīng)大寫字母的ASCII碼+20H換行的ASCII碼:0AH回車的ASCII碼:0DH空格的ASCII碼:20HASCII碼7位ASCII碼表27高位低位0123456700000101001110010111011100000NUL空白DLE數(shù)據(jù)鏈換碼SP0@P、p10001SOH標(biāo)題開始DC1設(shè)備控制1!1AQaq20010STX文本開始DC2設(shè)備控制2”2BRbr30011ETX文本結(jié)束DC3設(shè)備控制3#3CScs40100EOT傳輸結(jié)束DC4設(shè)備控制4$4DTdt50101ENQ詢問NAK否定應(yīng)答%5EUeu60110ACK應(yīng)答SYN空轉(zhuǎn)同步&6FVfv70111BEL報警符ETB信息組傳輸結(jié)束‘7GWgw81000BS退一格CAN刪去符(8HXhx91001HT橫向列表ME信息結(jié)束)9IYiyA1010LF換行SUB減*:JZjzB1011VT垂直列表ESC換碼+;K[k{C1100FF走紙控制FS文件分隔符,<L\l|D1101CR回車GS組分隔符-=M]m}E1110SO位移輸出RS記錄分隔符.>N↑n—F1111SI位移輸入US單元分隔符/?O←oDEL作廢字符2.4二進制數(shù)的運算無符號數(shù)的兩種基本運算算術(shù)運算邏輯運算281.算術(shù)運算

二進制數(shù):逢二進一借一當(dāng)二加法規(guī)則乘法規(guī)則

0+0=000=00+1=101=01+0=110=01+1=10(進位1)11=129

進位

1111

被加數(shù)

10101101+加數(shù)

00111001

和11100110運算過程:(被減數(shù))

10101101?(減數(shù))00111001(借位)

111(差)01110100加法減法301101×1011

1101110100001101

10001111部分積乘法例.1101×101131二進制除法例.100011÷101100011

111000111

101101

101

101101000(余數(shù))商:111余數(shù):0實現(xiàn)除法的關(guān)鍵:比較余數(shù)、除數(shù)絕對值大小,以決定上商。2.4.2

邏輯運算(按位操作)32“與”運算(AND)“或”運算(OR)

ABABABAB000000010011100101111111“非”運算(NOT)

“異或”運算(XOR,⊕)

A

ABAB0100010

01110111033例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111B

Y=0101010101010101B

Z=0101010110101010BZ=55AAH異或342.5數(shù)的定點表示和浮點表示2.5.1定點表示(Fixpointnumber)定點數(shù):小數(shù)點固定在數(shù)的某個位置,即階碼是固定值。計算機中沒有專門表示小數(shù)點的位,小數(shù)點的位置是約定的。34任意一個二進制數(shù)可以表示為:純小數(shù)或純整數(shù)與一個2的整數(shù)次冪的乘積,即S—數(shù)N的尾數(shù),表示了數(shù)N的全部有效數(shù)字P—數(shù)N的階碼,確定了小數(shù)點的位置2—階碼的底35352.5.1定點表示如假定P=0,且尾數(shù)S為純小數(shù)時,這是的定點數(shù)只能表示小數(shù)。35如假定P=0,且尾數(shù)S為純整數(shù)時,這是的定點數(shù)只能表示小數(shù)。定點數(shù)的兩種表示法,在計算機中均有采用。究竟采用哪種方法,均是事先約定的。如用純小數(shù)進行計算時,其運算結(jié)果要用適當(dāng)?shù)谋壤蜃觼碚鬯愠烧鎸嵵?。符號尾?shù)S符號尾數(shù)S362.5.1定點表示在計算機中,數(shù)的正負(fù)是用0(正)和1(負(fù))來表示。例如:8位二進制數(shù),最左邊第1位表示符號(稱為符號位)。其余7位可以用來表示尾數(shù)。定點純整數(shù)表示范圍:無符號時:00000000~11111111,即0~255;有符號時:-1111111~+1111111,即-127~+12737n位定點純小數(shù)表示范圍:2.5.1定點表示結(jié)論:定點數(shù)表示法簡單直觀,但是數(shù)值表示的范圍太小,運算時容易產(chǎn)生溢出。n-1個0n位2.5.2浮點表示(Floatingpointnumber):浮點數(shù):小數(shù)點位置是浮動的,即階碼可以取不同的值。階碼P:用二進制整數(shù)表示,決定了浮點數(shù)的取值范圍。尾數(shù)S:常用二進制小數(shù)表示,決定了浮點數(shù)的表示精度。38PfPm-1階碼符號階碼小數(shù)點位置(隱含)m位階碼P2P1SfSk-1S2S1k位尾數(shù)尾數(shù)符號尾數(shù)小數(shù)點位置(隱含)2.5.2浮點表示浮點數(shù)可以表示成多種形式:0.110×26=1.10×25=0.000110×29……39為了不丟失有效數(shù)字,提高運算精度,采用二進制浮點規(guī)格化數(shù).浮點規(guī)格化:尾數(shù)S的絕對值小于1而大于或等于1/2,即小數(shù)點后面一位必須是1。40例:二進制數(shù)+1011.101.可寫成2+100×0.1011101(相當(dāng)于十進制數(shù)11.625),其浮點數(shù)表示為。浮點表示和定點表示相比,多了一個階碼部分浮點表示的范圍(m位階碼,n位尾數(shù))0100010111012.5.2浮點表示階碼符號尾數(shù)符號階碼最小值階碼最大值階碼尾數(shù)

浮點表示法的特點:①優(yōu)點:在有限位數(shù)(即不增加字長)內(nèi),既能保證有較大的取值范圍,又能保證較高的精度。②缺點:實現(xiàn)浮點運算的硬件成本較高。412.5.2浮點表示2.6帶符號數(shù)的表示法2.6.1機器數(shù)與真值符號數(shù)碼化:將符號用“0正1負(fù)”表示,并以二進制數(shù)的最高位(D7位)最為符號位。42符號位D7D6D5D4D3D2D1D0機器數(shù):數(shù)據(jù)在計算機中連同數(shù)碼化的符號位一起表示的編碼數(shù)。真值:把機器數(shù)實際代表的數(shù)稱為機器數(shù)的真值。機器數(shù)有符號數(shù):無符號數(shù):沒有符號位原碼反碼補碼43帶符號數(shù)的編碼方式原碼表示(掌握)反碼表示補碼表示(重點)對于正數(shù),三種表示方式一樣,其區(qū)別在于負(fù)數(shù)的表示2.6.2機器數(shù)的種類和表示方法原碼(truecode)表示法:符號位+數(shù)值表示定點整數(shù)441.原碼表示法11111111-(27-1)01111111(27-1)0例:n=8bit[+3]原碼

=00000011=03H[-3]原碼

=10000011=83H[+0]原碼

=00000000=00H[-0]原碼

=10000000=80H例如:n=80的表示不惟一n位原碼表示范圍:-2(n-1)+1≤X≤2(n-1)-1

原碼性質(zhì)原碼為符號位加數(shù)的絕對值,0正1負(fù)符號和數(shù)值無關(guān)0可分+0和-0

+0為00…0-0為10…0原碼表示簡單易懂,與真值的轉(zhuǎn)換很方便。但在計算機中進行減運算時比較麻煩45反碼(one’s

complementcode)表示法正數(shù)的反碼同原碼,負(fù)數(shù)的反碼數(shù)值位與原碼相反例:n=8bit[+5]反碼

=00000101=05H[-5]反碼=11111010=FAH[+0]反碼

=00000000=00H[-0]反碼=11111111=FFH

0的表示不惟一462.反碼表示法*反碼不能直接進行兩數(shù)的加減運算

反碼性質(zhì)“0”的反碼有兩種表示法:

+0為00000000-0為111111118位二進制反碼的數(shù)值范圍:+(127)D~-(127)D

一個帶符號數(shù)用反碼表示時,最高位為符號位。47補碼?引入的思路(1)由鐘表撥表針的方法得到啟示;例如:把表上的8點鐘改為6點鐘方法二:順時針撥10格方法一:反時針撥2格補碼?引入的思路(2)撥針方法小結(jié):

8-2=68+10=6思考:為什么會出現(xiàn)這種現(xiàn)象?計算機中是否也有這種現(xiàn)象?

(表盤是圓的,可循環(huán)計時。)方法二:順時針撥10格方法一:反時針撥2格補碼?引入的思路(3)計算機儲存一個數(shù)也有與鐘表相同的特點:循環(huán)計數(shù)因此對于計算機,要計算像8-2

這樣的減法式子,也可以化為加法形式來進行。思考:在計算機中,8-2是否也可以化為8+10?如果不行,那么應(yīng)化為什么樣的式子?補碼?引入的思路(4)不同之處:表計時的最大數(shù)是12計算機計數(shù)的最大數(shù)不是12(思考:那么是多少呢?)我們把這個數(shù)稱為模計算機的模與字長有關(guān)。8位機的模是28=256……n位模=12模=2n補碼?引入的思路(5)觀察鐘表撥針的兩種方法:

8-2=68+10=6

我們可以看出,減去一個數(shù)a

相當(dāng)于加上(模-a)一樣,而在計算機中也有相同情況。在8位字長的計算機中,減去一個數(shù)a相當(dāng)于加上(28-a)一樣。我們稱(28-a)為a的補數(shù),其二進制表示形式稱為補碼。例:64-10=64+(-10)=64+(256-10)=64+246=256+54=54533.補碼表示法正數(shù)的補碼:同原碼負(fù)數(shù)的補碼:(1)反碼加1

(2)所對應(yīng)正數(shù)連同符號位,按位取反再加1補碼(Two’sComplement)54例:機器字長8位,[-46]補碼=?[46]補碼=001011101101000111010010=D2H

當(dāng)機器字長16位,[-46]補碼=FFD2H

按位求反末位加一①由真值、原碼轉(zhuǎn)化為補碼特例:[-128]補=10000000B[+1]補=00000001B[-1]補=11111111B求補規(guī)則:正數(shù)的補碼符號位為0,數(shù)值部分就是真值。負(fù)數(shù)的補碼符號位為1,數(shù)值部分可由真值的數(shù)值部分按位取反,末位加一得到。55

00000000取反11111111+00000001100000000例:[+0]補碼=00000000[-0]補碼=?

0的補碼

補碼中0的表示惟一[-0]補碼=00000000

=[+0]補碼進位56

十進制二進制十六進制十進制十六進制

n=8

n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二進制補碼整數(shù)的表示范圍:

-2n-1≤X≤2n-1-1

補碼比原碼多表示一個數(shù)!n位原碼表示范圍:-2n-1+1≤X≤2n-1-1規(guī)則:若補碼的符號位為0,則真值為正,真值的數(shù)值部分等于補碼的數(shù)值部分;若補碼的符號位為1,則真值為負(fù),真值的數(shù)值部分由補碼的數(shù)值部分取反加一得到。57X補=1.0110

尾數(shù)變反1.1001

末位加1+1X原=1.1010真值-0.1010=(-0.625)10②由補碼求真值例:X補=1.0110,求X原與真值性質(zhì):[X]補->[-X]補->[X]補58

[117]補=01110101對[117]補求補:①取反得:10001010②加一得:

10001011

[-117]補=10

溫馨提示

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

評論

0/150

提交評論