計算機(jī)組成原理3單元6-1計算機(jī)運(yùn)算方法_第1頁
計算機(jī)組成原理3單元6-1計算機(jī)運(yùn)算方法_第2頁
計算機(jī)組成原理3單元6-1計算機(jī)運(yùn)算方法_第3頁
計算機(jī)組成原理3單元6-1計算機(jī)運(yùn)算方法_第4頁
計算機(jī)組成原理3單元6-1計算機(jī)運(yùn)算方法_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章計算機(jī)的運(yùn)算方法教學(xué)單元三:無符號數(shù)和有符號數(shù)教學(xué)目標(biāo):(1)掌握機(jī)器數(shù)與真值,以及原碼、補(bǔ)碼和反碼表示;(2)掌握各種碼制相互變換的方法以及各種碼制對應(yīng)的真值范圍;(3)掌握移碼表示,以及移碼和補(bǔ)碼之間的轉(zhuǎn)換。6.1無符號數(shù)和有符號數(shù)6.3定點運(yùn)算6.2數(shù)的定點表示和浮點表示6.4浮點四則運(yùn)算6.5算術(shù)邏輯單元6.1無符號數(shù)和有符號數(shù)一、無符號數(shù)寄存器的位數(shù)反映無符號數(shù)的表示范圍8位0~25516位0~65535帶符號的數(shù)符號數(shù)字化的數(shù)+0.10110

1011小數(shù)點的位置+11000

1100小數(shù)點的位置–11001

1100小數(shù)點的位置–0.10111

1011小數(shù)點的位置真值機(jī)器數(shù)1.機(jī)器數(shù)與真值二、有符號數(shù)2.原碼表示法帶符號的絕對值表示(1)定義整數(shù)x

為真值n

為整數(shù)的位數(shù)如x=+1110[x]原

=0,1110[x]原

=24+1110=1,1110x=

1110[x]原=0,x2n

x

≥02n

x0≥

x

>2n用逗號將符號位和數(shù)值部分隔開小數(shù)x

為真值如x=+0.1101[x]原

=0.1101x=0.1101[x]原

=1(0.1101)=1.1101x1>

x

≥0[x]原=1–x0≥

x

>1x=0.1000000[x]原

=1(0.1000000)=1.1000000x=

+0.1000000[x]原

=0.1000000用小數(shù)點將符號位和數(shù)值部分隔開用小數(shù)點將符號位和數(shù)值部分隔開(2)舉例例6.1已知[x]原=1.0011求x解:例6.2已知[x]原=1,1100求x解:x=1

[x]原=1

1.0011=0.0011x=24

[x]原=100001,1100=1100–

–0.00111100由定義得由定義得例6.4

求x=0的原碼解:設(shè)x=+

0.0000例6.3已知[x]原=0.1101求x解:∴

x

=+0.1101同理,對于整數(shù)[+0

]原=0,0000[+

0.0000]原=0.0000x=

0.0000[

0.0000]原=1.0000[0

]原=1,0000∴[+

0]原

[

0]原

根據(jù)定義∵[x]原=0.1101原碼的特點:簡單、直觀但是用原碼作加法時,會出現(xiàn)如下問題:能否只作加法?

找到一個與負(fù)數(shù)等價的正數(shù)來代替這個負(fù)數(shù)就可使減加加法正正加加法正負(fù)加法負(fù)正加法負(fù)負(fù)減減加

要求

數(shù)1數(shù)2

實際操作結(jié)果符號正可正可負(fù)可正可負(fù)負(fù)-123(1)補(bǔ)的概念時鐘逆時針-363順時針+96153.補(bǔ)碼表示法可見3可用+9代替記作3≡+9(mod12)同理4≡+8(mod12)5≡+7(mod12)

時鐘以

12為模減法加法稱+9是3以12為模的補(bǔ)數(shù)結(jié)論一個負(fù)數(shù)加上“模”即得該負(fù)數(shù)的補(bǔ)數(shù)一個正數(shù)和一個負(fù)數(shù)互為補(bǔ)數(shù)時它們絕對值之和即為模數(shù)計數(shù)器(模16)–101110110000+010110111000010110000?可見1011可用+0101代替同理0110.1001自然去掉記作1011(mod24)≡+0101(mod23)≡+101(mod2)≡+1.0111+

0101(mod24)≡1011(mod24)(2)正數(shù)的補(bǔ)數(shù)即為其本身+10000+10000兩個互為補(bǔ)數(shù)的數(shù)+0101+10101≡分別加上模結(jié)果仍互為補(bǔ)數(shù)∴+0101≡+0101+010124+1–10111,0101用逗號將符號位和數(shù)值部分隔開丟掉10110,1,??1011(mod24)可見?+01010101010110110101+(mod24+1)100000=(3)補(bǔ)碼定義整數(shù)x

為真值n

為整數(shù)的位數(shù)[x]補(bǔ)=0,x2n

x

≥02n+1+x0

x

≥2n(mod2n+1)如x=+1010[x]補(bǔ)=27+1+(1011000)=[x]補(bǔ)=0,1010x=10110001,0101000用逗號將符號位和數(shù)值部分隔開1011000100000000小數(shù)x

為真值x=+0.1110[x]補(bǔ)=x1>

x

≥02+

x

0>

x

≥1(mod2)如[x]補(bǔ)=0.1110x=0.11000001.0100000[x]補(bǔ)=2

+

(0.1100000)=用小數(shù)點將符號位和數(shù)值部分隔開0.110000010.0000000(4)求補(bǔ)碼的快捷方式=100000=1,011010101+1=1,0110又[x]原=1,1010則[x]補(bǔ)=24+11010=11111+11010=1111110101010當(dāng)真值為負(fù)時,補(bǔ)碼可用原碼除符號位外每位取反,末位加1求得+1設(shè)x=1010時(5)舉例解:x=+0.0001解:由定義得x=[x]補(bǔ)–2=1.0001–10.0000[x]原=1.1111例6.6已知[x]補(bǔ)=1.0001求x[x]補(bǔ)

[x]原

?由定義得例6.5已知[x]補(bǔ)=0.0001求x∴x=0.1111

–=0.1111

–例6.7解:x=[x]補(bǔ)–24+1

=1,1110–100000[x]原=1,0010當(dāng)真值為負(fù)時,原碼可用補(bǔ)碼除符號位外每位取反,末位加1求得[x]補(bǔ)

[x]原

?∴x=0010=0010求x已知[x]補(bǔ)=1,1110由定義得真值0,10001101,01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示練習(xí)求下列真值的補(bǔ)碼[1]補(bǔ)=2+x=10.00001.0000=1.0000[+0]補(bǔ)=[0]補(bǔ)由小數(shù)補(bǔ)碼定義=1000110[x]補(bǔ)[x]原x=+70x=0.1110x=0.0000x=70x=0.1110x=0.0000x=1.0000=1000110[x]補(bǔ)=x

1>

x

≥02+

x0>

x

≥1(mod2)4.反碼表示法(1)定義整數(shù)[x]反=0,x2n>x≥0(2n+1–1)+x0≥x>2n(mod2n+1

1)如x

=+1101[x]反=0,1101=1,0010x=1101[x]反=(24+11)1101=111111101用逗號將符號位和數(shù)值部分隔開x

為真值n

為整數(shù)的位數(shù)小數(shù)x

=+0.1101[x]反=

0.1101x=0.1010[x]反=(22-4)

0.1010=1.1111

0.1010=1.0101如[x]反=x1>x≥0(2–2-n)+x0≥x>1(mod22-n)用小數(shù)點將符號位和數(shù)值部分隔開x

為真值n為小數(shù)的位數(shù)(2)舉例例6.10

求0的反碼設(shè)x=+

0.0000[+0.0000]反=0.0000解:同理,對于整數(shù)[+0]反=0,0000例6.9已知[x]反=1,1110求x例6.8已知[x]反=0,1110求x解:由定義得x=+1110解:=1,111011111=0001由定義得x=[x]反(24+11)x=0.0000[

0.0000]反=1.1111[0]反=1,1111∴[+0]反≠[0]反

三種機(jī)器數(shù)的小結(jié)

對于正數(shù),原碼=補(bǔ)碼=反碼

對于負(fù)數(shù),符號位為1,其數(shù)值部分原碼除符號位外每位取反末位加1

補(bǔ)碼原碼除符號位外每位取反反碼最高位為符號位,書寫上用“,”(整數(shù))或“.”(小數(shù))將數(shù)值部分和符號位隔開例6.11000000000000000100000010…011111111000000010000001111111011111111011111111…128129-0-1-128-127-127-126二進(jìn)制代碼無符號數(shù)對應(yīng)的真值原碼對應(yīng)的真值補(bǔ)碼對應(yīng)的真值反碼對應(yīng)的真值012127…253254255…-125-126-127…-3-2-1…-2-1-0…+0+1+2+127…+0+1+2+127…+0+1+2+127…+0設(shè)機(jī)器數(shù)字長為8位(其中1位為符號位)對于整數(shù),當(dāng)其分別代表無符號數(shù)、原碼、補(bǔ)碼和反碼時,對應(yīng)的真值范圍各為多少?例6.12解:已知[y]補(bǔ)求[y]補(bǔ)<Ⅰ>[y]補(bǔ)=0.y1

y2

yn…y

=0.

y1y2

yn…y=0.y1

y2

yn…[y]補(bǔ)=1.y1

y2

yn+2-n…<Ⅱ>[y]補(bǔ)=1.y1

y2

yn…[y]原

=1.y1y2

yn+2-n…

y

=(0.y1y2

yn

+2-n)…

y

=0.y1y2

yn+2-n…[y]補(bǔ)

=0.y1

y2

yn+2-n…設(shè)[y]補(bǔ)=y0.y1y2

yn…每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號位在內(nèi),末位加1每位取反,即得[y]補(bǔ)[y]補(bǔ)連同符號位在內(nèi),末位加15.移碼表示法補(bǔ)碼表示很難直接判斷其真值大小如十進(jìn)制x=+21x=–21x=

+31x=–31x+25+10101+100000+11111+10000010101+10000011111+100000大大錯錯大大正確正確0,101011,010110,111111,00001+10101–

10101+11111–

11111=110101=001011=111111=000001二進(jìn)制補(bǔ)碼(1)移碼定義x

為真值,n

為整數(shù)的位數(shù)移碼在數(shù)軸上的表示[x]移碼2n+1–12n2n

–1–2n00真值如x=10100[x]移=25+10100用逗號將符號位和數(shù)值部分隔開x=–10100[x]移=25

–10100[x]移=2n+x(2n>x

≥2n)=1,10100=0,01100(2)移碼和補(bǔ)碼的比較設(shè)x=+1100100[x]移=27+1100100[x]補(bǔ)=0,1100100設(shè)x=–1100100[x]移=27

–1100100[x]補(bǔ)=1,0011100補(bǔ)碼與移碼只差一個符號位=1,1100100=0,00111001001-100000-11111-11110-00001±00000+00001

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論