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

下載本文檔

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

文檔簡介

第二章微機運算基礎微型計算機原理及應用主編:李繼燦清華大學出版社內容提要22.4二進制數的運算

2.3二進制編碼2.1&2進位記數制及轉換

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

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

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

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

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

例如:(1001)21001B

2八進制Octal

例如:(317)8317Q

3十進制Decimal

例如:(531)10531D

4十六進制Hexadecimal

例如:(9A1)169A1H

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

基數:10

位權: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數碼:0,1

基數:2

位權: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位二進制無符號整數表示范圍:最早倡導二進制的是德國科學家萊布尼茲世界上總共有10種人,一種懂得什么是二進制,一種不懂

10數碼:0,1,2,3,4,5,6,7

基數:8

位權: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十六進制數(Hexadecimal)數碼:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13)、E(14),F(15)

基數:16

位權:16i,i=…3,2,1,0,-1,-2,-3…

規(guī)則:逢十六進一,借一當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小結十進制二進制八進制十六進制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F12各種數制對照表2.2各種進位數制之間的轉換二進制數轉換為十進制數方法1:按權相加方法2:整數部分、小數部分分別轉換整數部分(從最高位開始,連續(xù)乘2)假設5位二進制整數N,表示為132.2.1任意進制轉換為十進制二進制數轉換為十進制數

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

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

1229

014

1222

7

03

121

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

1或

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

×210.625

×210.25

×2

00.5

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

原則:三位二進制對應一位八進制,不足補0

011101111.110357

6∴

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

A19C

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

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

0~9十個數字

52個大小寫英文字母

32個專用符號

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

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

二進制數:逢二進一借一當二加法規(guī)則乘法規(guī)則

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

進位

1111

被加數

10101101+加數

00111001

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

10101101?(減數)00111001(借位)

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

1101110100001101

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

111000111

101101

101

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

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

原碼性質原碼為符號位加數的絕對值,0正1負符號和數值無關0可分+0和-0

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

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

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

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

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

反碼性質“0”的反碼有兩種表示法:

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

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

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

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

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

8-2=68+10=6

我們可以看出,減去一個數a

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

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

當機器字長16位,[-46]補碼=FFD2H

按位求反末位加一①由真值、原碼轉化為補碼特例:[-128]補=10000000B[+1]補=00000001B[-1]補=11111111B求補規(guī)則:正數的補碼符號位為0,數值部分就是真值。負數的補碼符號位為1,數值部分可由真值的數值部分按位取反,末位加一得到。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位二進制補碼整數的表示范圍:

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

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

尾數變反1.1001

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

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

10001011

[-117]補=10

溫馨提示

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

評論

0/150

提交評論