第三講 定點(diǎn)運(yùn)算(加減法)_第1頁
第三講 定點(diǎn)運(yùn)算(加減法)_第2頁
第三講 定點(diǎn)運(yùn)算(加減法)_第3頁
第三講 定點(diǎn)運(yùn)算(加減法)_第4頁
第三講 定點(diǎn)運(yùn)算(加減法)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三講定點(diǎn)運(yùn)算(一)本講主要內(nèi)容移位運(yùn)算補(bǔ)碼加法補(bǔ)碼減法益處概念與檢測方法基本的二進(jìn)制加法/減法器一、移位運(yùn)算1.移位的意義15m=1500cm小數(shù)點(diǎn)右移2位機(jī)器用語15相對于小數(shù)點(diǎn)左移2位(小數(shù)點(diǎn)不動)..左移絕對值擴(kuò)大右移絕對值縮小在計(jì)算機(jī)中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運(yùn)算2.算術(shù)移位規(guī)則1右移添1左移添00反碼補(bǔ)碼原碼負(fù)數(shù)0原碼、補(bǔ)碼、反碼正數(shù)添補(bǔ)代碼碼制符號位不變例16設(shè)機(jī)器數(shù)字長為8位(含1位符號位),寫出A=+26時(shí),三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。解:A=+26則[A]原

=[A]補(bǔ)

=[A]反

=0,0011010

+

60,0000110

+130,0001101+1040,1101000

+

520,0110100

+260,0011010移位前[A]原=[A]補(bǔ)=[A]反對應(yīng)的真值機(jī)器數(shù)移位操作=+11010左移一位左移兩位右移一位右移兩位例17設(shè)機(jī)器數(shù)字長為8位(含1位符號位),寫出A=–26時(shí),三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。解:A=–26

–61,0000110

–131,0001101–1041,1101000

–521,0110100

–261,0011010移位前對應(yīng)的真值機(jī)器數(shù)移位操作原碼=–11010左移一位左移兩位右移一位右移兩位

–61,1111001

–131,1110010

–1041,0010111

–521,1001011–261,1100101移位前對應(yīng)的真值機(jī)器數(shù)移位操作

–71,1111001

–131,1110011

–1041,0011000

–521,1001100–261,1100110移位前對應(yīng)的真值機(jī)器數(shù)移位操作補(bǔ)碼反碼左移一位左移兩位右移一位右移兩位左移一位左移兩位右移一位右移兩位3.算術(shù)移位的硬件實(shí)現(xiàn)(a)真值為正(b)負(fù)數(shù)的原碼(c)負(fù)數(shù)的補(bǔ)碼(d)負(fù)數(shù)的反碼00010丟

1丟

1出錯影響精度出錯影響精度正確影響精度正確正確4.算術(shù)移位和邏輯移位的區(qū)別算術(shù)移位有符號數(shù)的移位邏輯移位無符號數(shù)的移位邏輯左移邏輯右移低位添0,高位移丟高位添0,低位移丟例如

01010011邏輯左移10100110邏輯右移01011001算術(shù)左移算術(shù)右移0010011011011001(補(bǔ)碼)高位1移丟010100110Cy010100110010110010加法規(guī)則:先判符號位,若相同,絕對值相加,結(jié)果符號不變;若不同,則作減法,|大|-|小|,結(jié)果符號與|大|相同。減法規(guī)則:兩個(gè)原碼表示的數(shù)相減,首先將減數(shù)符號取反,然后將被減數(shù)與符號取反后的減數(shù)按原碼加法進(jìn)行運(yùn)算。二、補(bǔ)碼加/減法1.原碼加/減法運(yùn)算公式:[x]補(bǔ)+[y]補(bǔ)

=[x+y]補(bǔ)

證明:假設(shè)︱x︱﹤1,︱y︱﹤1,︱x+y︱﹤1現(xiàn)分四種情況來證明(1)x﹥0,y﹥0,則x+y﹥0[x]補(bǔ)=x,[y]補(bǔ)=y,[x+y]補(bǔ)=x+y

所以等式成立.(2)x﹥0,y﹤0,則x+y>0或x+y<0[x]補(bǔ)=x,[y]補(bǔ)=2+y,[x]補(bǔ)+[y]補(bǔ)=x+2+y當(dāng)x+y>0時(shí),2+(x+y)>2,進(jìn)位2必丟失,又因(x+y)>0,故[x]補(bǔ)+[y]補(bǔ)=x+y=[x+y]補(bǔ)

當(dāng)x+y<0時(shí),2+(x+y)<2,又因(x+y)<0,故[x]補(bǔ)+[y]補(bǔ)=2+(x+y)=[x+y]補(bǔ)

所以上式成立2、補(bǔ)碼加法運(yùn)算(3)x<0,y>0,則x+y>0或x+y<0這種情況和第2種情況一樣,把x和y的位置對調(diào)即得證。(4)x<0,y<0,則x+y<0相加兩數(shù)都是負(fù)數(shù),則其和也一定是負(fù)數(shù)。∵[x]補(bǔ)=2+x,

[y]補(bǔ)=2+y

∴[x]補(bǔ)+[y]補(bǔ)=2+x+2+y=2+(2+x+y)上式右邊分為”2”和(2+x+y)兩部分.既然(x+y)是負(fù)數(shù),而其絕對值又小于1,那么(2+x+y)就一定是小于2而大于1的數(shù),進(jìn)位”2”必丟失.又因(x+y)<0,所以

[x]補(bǔ)+[y]補(bǔ)=2+(x+y)=[x+y]補(bǔ)

連同符號位一起相加,符號位產(chǎn)生的進(jìn)位自然丟掉

至此證明了在模2意義下,任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼。

其結(jié)論也適用于定點(diǎn)整數(shù)。補(bǔ)碼加法的特點(diǎn):

(1)符號位要作為數(shù)的一部分一起參加運(yùn)算;(2)在模2的意義下相加,即大于2的進(jìn)位要丟掉。結(jié)論:3、補(bǔ)碼減法運(yùn)算連同符號位一起相加,符號位產(chǎn)生的進(jìn)位自然丟掉公式:

[x-y]補(bǔ)=

[x]補(bǔ)+[-y]補(bǔ)

舉例解:[A]補(bǔ)[B]補(bǔ)[A]補(bǔ)

+[B]補(bǔ)+=0.1011=1.1011=10.0110=[A+B]補(bǔ)驗(yàn)證例18設(shè)A=0.1011,B=–

0.0101求[A+B]補(bǔ)0.1011–0.01010.0110∴A+B

=0.0110[A]補(bǔ)[B]補(bǔ)[A]補(bǔ)

+[B]補(bǔ)+=1,0111=1,1011=11,0010=[A+B]補(bǔ)驗(yàn)證–1001–1110–0101+例19設(shè)A=–9,B=–5求[A+B]補(bǔ)解:∴A+B

=–1110例20設(shè)機(jī)器數(shù)字長為8位(含1位符號位)且A=15,B=24,用補(bǔ)碼求A

–B解:A=15=0001111B=24=0011000[A]補(bǔ)

+[–

B]補(bǔ)+[A]補(bǔ)=0,0001111[–

B]補(bǔ)=1,1101000=1,1110111=[A

B]補(bǔ)[B]補(bǔ)

=0,0011000練習(xí)1設(shè)x=y=,用補(bǔ)碼求x+y9161116x+y=–0.1100=1216–練習(xí)2設(shè)機(jī)器數(shù)字長為8位(含1位符號位)且A=–97,B=+41,用補(bǔ)碼求A

BA

–B=+1110110=+118∴A

–B=–1001=–9錯錯4、溢出概念與檢測方法引入:可能產(chǎn)生溢出的情況:

兩正數(shù)加,變負(fù)數(shù),正溢(大于機(jī)器所能表示的最大數(shù))

兩負(fù)數(shù)加,變正數(shù),負(fù)溢(小于機(jī)器所能表示的最小數(shù))

溢出判斷方法(1)一位符號位判溢出參加操作的兩個(gè)數(shù)(減法時(shí)即為被減數(shù)和“求補(bǔ)”以后的減數(shù))符號相同,其結(jié)果的符號與原操作數(shù)的符號不同,即為溢出單符號位法的硬件實(shí)現(xiàn)Cf

C0

00正確(正數(shù))

01上溢

10下溢

11正確(負(fù)數(shù))V=Cf⊕C0

其中Cf為符號位產(chǎn)生的進(jìn)位,C0為最高有效位產(chǎn)生V=1有溢出V=0無溢出(2)兩位符號位判溢出[x]補(bǔ)'

=

x1>x≥0

4+x0>x≥–1(mod4)[x]補(bǔ)'+[y]補(bǔ)'=[x+y]補(bǔ)'

(mod4)[x

–y]補(bǔ)'=[x]補(bǔ)'+[–

y]補(bǔ)'

(mod4)結(jié)果的雙符號位相同

未溢出結(jié)果的雙符號位不同

溢出最高符號位代表其真正的符號00.×××××11.×××××10.×××××01.×××××00,×××××11,×××××10,×××××01,×××××舉例例

x=+01100,y=+01000求x+y

x=-1100,y=-1000求x+y

從上面例中看到:當(dāng)最高有效位有進(jìn)位而符號位無進(jìn)位時(shí),產(chǎn)生上溢;當(dāng)最高有效位無進(jìn)位而符號位有進(jìn)位時(shí),產(chǎn)生下溢。

(簡單地說是正數(shù)相加為負(fù)數(shù)或負(fù)數(shù)相加為正數(shù)則產(chǎn)生溢出)故溢出邏輯表達(dá)式為:V=Cf⊕Co

其中Cf為符號位產(chǎn)生的進(jìn)位,Co為最高有效位產(chǎn)生的進(jìn)位。此邏輯表達(dá)式也可用異或門實(shí)現(xiàn)。(3)利用進(jìn)位值的判別法

[x]補(bǔ)

00.1100+[y]補(bǔ)

00.1000

01.1000

[x]補(bǔ)

11.0100+[y]補(bǔ)

11.1000

10.1100FAVz0y0x0判斷電路

(1)單符號位法判斷電路FAFAz1z0Vc1c0y1x1y0x

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論