第一部分二進(jìn)制及其運(yùn)算_第1頁
第一部分二進(jìn)制及其運(yùn)算_第2頁
第一部分二進(jìn)制及其運(yùn)算_第3頁
第一部分二進(jìn)制及其運(yùn)算_第4頁
第一部分二進(jìn)制及其運(yùn)算_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一部分二進(jìn)制及其運(yùn)算第一頁,共七十七頁,編輯于2023年,星期一目前計(jì)算機(jī)內(nèi)所有的信息都用“0”和“1”兩個(gè)數(shù)字符號(hào)組合的二進(jìn)制數(shù)來表示。計(jì)算機(jī)中,數(shù)值、圖形、文字等各種形式的信息,需要計(jì)算機(jī)加工處理時(shí),首先必須按一定的法則轉(zhuǎn)換成二進(jìn)制第二頁,共七十七頁,編輯于2023年,星期一①電子器件的實(shí)現(xiàn)很容易。電路通常有兩種穩(wěn)態(tài):開關(guān)的合上與斷開、電燈的亮與滅、二極管的導(dǎo)通與截止、高電平與低電平等。②二進(jìn)制運(yùn)算簡(jiǎn)單。二進(jìn)制的運(yùn)算法則簡(jiǎn)單,這樣,使得計(jì)算機(jī)的運(yùn)算器結(jié)構(gòu)大大簡(jiǎn)化,控制簡(jiǎn)單。③便于進(jìn)行邏輯運(yùn)算。二進(jìn)制的0,1兩種狀態(tài),可以代表邏輯運(yùn)算中的“假”和“真”兩種值。④可靠性高。二進(jìn)制的0,1兩種狀態(tài),在傳輸和處理時(shí)不容易出錯(cuò)。信息還常用十進(jìn)制、八進(jìn)制和十六進(jìn)制編碼,但它們最終要轉(zhuǎn)換成二進(jìn)制才能被計(jì)算機(jī)內(nèi)部存儲(chǔ)和加工。二進(jìn)制的優(yōu)勢(shì)第三頁,共七十七頁,編輯于2023年,星期一位(bit):計(jì)算機(jī)中表示信息的最小單位,對(duì)應(yīng)于二進(jìn)制中的一個(gè)位字節(jié)(Byte):計(jì)算機(jī)中表示信息的基本單位,8個(gè)二進(jìn)制的位構(gòu)成一個(gè)字節(jié)K:1K=210=1024字節(jié)(BYTE)兆(M):1M=1024K=1024×1024Byte吉(G):1G=1024MT:1T=1024G存儲(chǔ)器的容量:B,KB,MB,GB,TB,PB,EB,ZB計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)單位10011010位字節(jié)第四頁,共七十七頁,編輯于2023年,星期一“字”:計(jì)算機(jī)在同一時(shí)間內(nèi)處理的一組二進(jìn)制數(shù)稱為一個(gè)計(jì)算機(jī)的“字”,而這組二進(jìn)制數(shù)的位數(shù)就是“字長(zhǎng)”。

字長(zhǎng)與計(jì)算機(jī)的功能和用途有很大的關(guān)系,是計(jì)算機(jī)的一個(gè)重要技術(shù)指標(biāo)。字長(zhǎng)直接反映了一臺(tái)計(jì)算機(jī)的計(jì)算精度,為適應(yīng)不同的要求及協(xié)調(diào)運(yùn)算精度和硬件造價(jià)間的關(guān)系,大多數(shù)計(jì)算機(jī)均支持變字長(zhǎng)運(yùn)算,即機(jī)內(nèi)可實(shí)現(xiàn)半字長(zhǎng)、全字長(zhǎng)(或單字長(zhǎng))和雙倍字長(zhǎng)運(yùn)算。

早期的微機(jī)字長(zhǎng)一般是8位和16位,386以及更高的處理器大多是32位。目前市面上的計(jì)算機(jī)的處理器大部分已達(dá)到64位。第五頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法和轉(zhuǎn)換任意一個(gè)十進(jìn)制數(shù)A,可以表示為:第六頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法和轉(zhuǎn)換任意一個(gè)二進(jìn)制數(shù)B也可以表示為:第七頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法和轉(zhuǎn)換任意一個(gè)二進(jìn)制數(shù)C也可以表示為:第八頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法和轉(zhuǎn)換任意一個(gè)二進(jìn)制數(shù)D也可以表示為:第九頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法位權(quán)基數(shù)為2第十頁,共七十七頁,編輯于2023年,星期一數(shù)據(jù)的表示方法和轉(zhuǎn)換P.60.表3.1給出了各種進(jìn)位計(jì)數(shù)制的對(duì)應(yīng)關(guān)系。十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010第十一頁,共七十七頁,編輯于2023年,星期一計(jì)算機(jī)的數(shù)制逢十進(jìn)一0~9共十個(gè)數(shù)字來表示(基數(shù)為10)每個(gè)數(shù)字所處的位置不同,所代表的意義也不同(位權(quán)是10的整次冪)1.十進(jìn)制

1995.121=1×103+9×102+9×101+5×100+1×10-1+2×10-2+1×10-3第十二頁,共七十七頁,編輯于2023年,星期一2.二進(jìn)制基數(shù)為二使用兩種不同的數(shù)字符號(hào),即0或1逢二進(jìn)一(11010.101)2=1×24+1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3第十三頁,共七十七頁,編輯于2023年,星期一3.八進(jìn)制基數(shù)為8、每位可取0~7中的任意一個(gè)數(shù)字逢八進(jìn)一例如,八進(jìn)制數(shù)加法

7+1=10而不等于8八進(jìn)制(基數(shù)為8)表示法在早期的計(jì)算機(jī)系統(tǒng)中很常見。八進(jìn)制適用于12位和36位計(jì)算機(jī)系統(tǒng)(或者其他位數(shù)為3的倍數(shù)的計(jì)算機(jī)系統(tǒng))。第十四頁,共七十七頁,編輯于2023年,星期一

4.十六進(jìn)制

基數(shù)為16組成十六進(jìn)制數(shù)的符號(hào)共有16個(gè)其中:0~9這十個(gè)數(shù)由數(shù)字0~9來表示10~15這六個(gè)數(shù)由英文字母A~F表示逢十六進(jìn)一例如,十六進(jìn)制數(shù)

9+1=A而不等于10F+1=1016進(jìn)制縮短了二進(jìn)制數(shù),但保持了二進(jìn)制數(shù)的表達(dá)特點(diǎn)。第十五頁,共七十七頁,編輯于2023年,星期一三、數(shù)制間的轉(zhuǎn)換1.二、八、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制

(1010101)2=1×26+0×25+1×24+0×23+

1×22+0×21+1×20

=64+16+4+1=(85)10(16A.B)16=(1×162+6×161+10×160

+11×16-1)10

=(256+96+10+0.69)10

=(362.69)10

(34.6)8=?

第十六頁,共七十七頁,編輯于2023年,星期一2、十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)(a)純整數(shù)部分的轉(zhuǎn)換

“除2取余”

192924222120余1余1余0余0余1(高位)(低位)故:(19)10=(10011)2例1.將(19)10轉(zhuǎn)換為二進(jìn)制數(shù)。第十七頁,共七十七頁,編輯于2023年,星期一2、十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)(續(xù))(b)純小數(shù)部分的轉(zhuǎn)換

“乘2取整”

例2.將(0.125)10轉(zhuǎn)換為二進(jìn)制數(shù)。

0.500×21.000(低位)故:(0.125)10=(0.001)20.250×20.125(高位)

×2第十八頁,共七十七頁,編輯于2023年,星期一例二:將0.6875轉(zhuǎn)換成二進(jìn)制小數(shù)0.6875*21.3750*2

0.7500*21.5000*21.0000由此,(0.6875)10=(0.1011)2將整數(shù)部分按正序排列第十九頁,共七十七頁,編輯于2023年,星期一2、十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)(續(xù))

例3.將(19.125)10轉(zhuǎn)換成二進(jìn)制數(shù)。(19)10=(10011)2

(0.125)10=(0.001)2

故:(19.125)10=(10011.001)2

第二十頁,共七十七頁,編輯于2023年,星期一注意:

并非所有的十進(jìn)制小數(shù)都能用有限位的二進(jìn)制小數(shù)來表示。例4.將(0.63)10轉(zhuǎn)換為二進(jìn)制。

0.63×21.26×20.52×21.04×20.08(高位)(低位)因?yàn)?,小?shù)部分乘以2會(huì)無限循環(huán)下去,故:(0.63)10=(0.1010)2(近似值)第二十一頁,共七十七頁,編輯于2023年,星期一3.二進(jìn)制與八進(jìn)制或十六進(jìn)制之間的轉(zhuǎn)換二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換

因?yàn)?=23,由此一位八進(jìn)制由三位二進(jìn)制構(gòu)成

(011110111.100010101)2=(367.425)8367.425

(16.327)8=(001110.011010111)2

=(1110.011010111)2第二十二頁,共七十七頁,編輯于2023年,星期一

(2)二進(jìn)制與十六進(jìn)制間的轉(zhuǎn)換

同理:

(1110

0101

1010.1011

1001)2

E5A.B9

=(E5A.B9)16(4C.2E)16=(0100

1100.0010

1110)2

4C2E

=(1001100.0010111)2第二十三頁,共七十七頁,編輯于2023年,星期一二進(jìn)制的基本運(yùn)算二進(jìn)制的基本運(yùn)算是邏輯運(yùn)算邏輯運(yùn)算是按位進(jìn)行的邏輯運(yùn)算主要包括三種基本運(yùn)算:邏輯加法(又稱“或”運(yùn)算)邏輯乘法(又稱“與”運(yùn)算)邏輯否定(又稱“非”運(yùn)算)。第二十四頁,共七十七頁,編輯于2023年,星期一邏輯加法(“或”運(yùn)算)邏輯加法通常用符號(hào)“+”或“∨”來表示。邏輯加法運(yùn)算規(guī)則如下:0+0=0,0∨0=00+1=1,0∨1=11+0=1,1∨0=11+1=1,1∨1=1

邏輯“或門”Cmos邏輯電路第二十五頁,共七十七頁,編輯于2023年,星期一邏輯乘法(“與”運(yùn)算)Cmos邏輯電路邏輯乘法通常用符號(hào)“×”或“∧”或“·”來表示。邏輯乘法運(yùn)算規(guī)則如下:0×0=0,0∧0=0,0·0=00×1=0,0∧1=0,0·1=01×0=0,1∧0=0,1·0=01×1=1,1∧1=1,1·1=1邏輯“與門”第二十六頁,共七十七頁,編輯于2023年,星期一邏輯否定(“非”運(yùn)算)Cmos邏輯電路邏輯非運(yùn)算又稱邏輯否運(yùn)算。其運(yùn)算規(guī)則為:0=1“非”0等于11=0“非”1等于0

邏輯“非門”第二十七頁,共七十七頁,編輯于2023年,星期一無符號(hào)數(shù)與帶符號(hào)數(shù)無符號(hào)數(shù):

1111

1111

值:255有符號(hào)數(shù):

0111

1111

值:127同樣是一個(gè)字節(jié),無符號(hào)數(shù)的最大值是255,而有符號(hào)數(shù)的最大值是127原因:有符號(hào)數(shù)中的最高位被挪去表示符號(hào)了第二十八頁,共七十七頁,編輯于2023年,星期一

帶符號(hào)數(shù)的表示真值:直接用正號(hào)“+”和負(fù)號(hào)“-”來表示符號(hào)的二進(jìn)制數(shù)如:+1011;-1101數(shù)的真值形式是一種原始形式,無法直接用在計(jì)算機(jī)中機(jī)器數(shù):一個(gè)包括符號(hào)位在內(nèi)的數(shù)值的機(jī)內(nèi)編碼叫做機(jī)器數(shù),它是數(shù)在計(jì)算機(jī)中表示形式的統(tǒng)稱。例:01010111=+87,11010111=-87對(duì)于負(fù)數(shù)有三種表示方法:原碼、反碼、補(bǔ)碼。第二十九頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示(小數(shù))1、原碼表示原碼的表示:正數(shù)的符號(hào)位用0表示,負(fù)數(shù)的符號(hào)位用1表示,尾數(shù)用數(shù)值表示。原碼的定義:[X]原=X0<=X<11-X-1<X<=0

例:X=+0.1011,[X]原=0.1011;

X=-0.1011,[X]原=1-X=1.0000-(-0.1011)=1.1011

一個(gè)字節(jié)的有符號(hào)數(shù)的原碼范圍是:-127~+127第三十頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示原碼的特性:

(1)[X]原=符號(hào)位+|X|,即原碼的最高位為符號(hào)位,尾數(shù)部分為數(shù)值位(絕對(duì)值)。(2)數(shù)的原碼有正負(fù)零之分,[+0]原=000000000,

[-0]原=100000000。(3)8位原碼的數(shù)值范圍為:[+127]原=01111111,[-127]原=11111111。(4)原碼表示與增值轉(zhuǎn)換方便,但兩異號(hào)相加要做減法。為了把減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,提出了反碼和補(bǔ)碼。第三十一頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示2、反碼表示1's

Complement

反碼的表示:正數(shù)的反碼符號(hào)位為0,尾數(shù)用數(shù)值表示(與原碼相同);負(fù)數(shù)的反碼為正數(shù)值連同符號(hào)位按位取反。反碼的定義:[X]反=X0<=X<1(2-2-n)+x-1<X<=0(定點(diǎn)小數(shù))(2n+1-1)+x0≥x>-2n(定點(diǎn)整數(shù))例:X=+0.1011,[X]反=0.1011

X=-0.1011,[X]反=1.0100第三十二頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示反碼的特性:(1)反碼的最高位為符號(hào)位,0為正,1為負(fù)(2)零的反碼有正負(fù)之分(不唯一)

+0=00000000,-0=11111111;

(3)8位反碼的數(shù)值范圍為:[+127]=01111111,[-127]=11111111;

第三十三頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示3、補(bǔ)碼的表示2's

Complement補(bǔ)碼的表示:正數(shù)的補(bǔ)碼與原碼相同,即符號(hào)位用0表示,尾數(shù)用數(shù)值表示,負(fù)數(shù)的補(bǔ)碼為數(shù)的反碼,且在最低為加1,即取反加1。補(bǔ)碼的定義:[X]補(bǔ)=X0<=X<1

2+X-1<=X<=0

2n+1+x=2n+1-|x|

0≥x≥-2n例:X=+0.1011,[X]補(bǔ)=01011;

X=-0.1011,[X]補(bǔ)=10101。第三十四頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示模與互補(bǔ)的概念:例如,校正時(shí)間的方法:標(biāo)準(zhǔn)時(shí)間是6點(diǎn)鐘,非標(biāo)準(zhǔn)時(shí)間是10點(diǎn)鐘;有兩種校正方法:10-4=6倒撥10+8=6順撥10-4=(10+8)

mod12;稱12為模數(shù),(+8)與(-4)對(duì)模12互為余數(shù),或稱同余。同理,在8位二進(jìn)制中任一負(fù)數(shù)(-X)的補(bǔ)碼都可以由

28-X來得到。第三十五頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示及加減運(yùn)算例,64-10=64+(-10)=

64+[28-10]=64+[256-10]=64+246=5401000000640100000064-00001010-10+11110110+2460011011054(1)0011011054若字長(zhǎng)為8位,則補(bǔ)碼所表示的范圍為-128~+127;進(jìn)行補(bǔ)碼運(yùn)算時(shí),應(yīng)注意所得結(jié)果不應(yīng)超過補(bǔ)碼所能表示數(shù)的范圍第三十六頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示補(bǔ)碼的特性:

(1)補(bǔ)碼的最高位為符號(hào)位,0為正,1為負(fù)(2)0的補(bǔ)碼是唯一的

[+0]補(bǔ)=[-0]補(bǔ)=00000000;(3)兩個(gè)數(shù)的補(bǔ)碼相加時(shí),結(jié)果不超過機(jī)器能表示的范圍,可以把符號(hào)位與數(shù)位同等處理,即機(jī)器數(shù)的符號(hào)位與數(shù)值位都是正確的補(bǔ)碼表示。即:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)第三十七頁,共七十七頁,編輯于2023年,星期一機(jī)器數(shù)的運(yùn)算一、原碼運(yùn)算

(1)原碼中的符號(hào)位僅用來表示數(shù)的正、負(fù),不參加運(yùn)算

(2)原碼運(yùn)算時(shí),首先比較兩個(gè)數(shù)的符號(hào)兩數(shù)的符號(hào)相同,將兩個(gè)數(shù)的數(shù)值相加,最后給結(jié)果附上相應(yīng)的符號(hào)

兩數(shù)的符號(hào)不同,則需比較兩數(shù)的數(shù)值大小,然后將數(shù)值較大的數(shù)減去數(shù)值較小的數(shù),并將數(shù)值較大的數(shù)的符號(hào)作為最后結(jié)果的符號(hào)。第三十八頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=-0.0101,求[S2+S1]原和[S2-S1]原。解:[S2+S1]原=[(-0.0101)+(0.1001)]原由于S1和S2的符號(hào)不同,并且的S1絕對(duì)值大于S2的絕對(duì)值,因此要進(jìn)行S1減S2的運(yùn)算,其結(jié)果為正。0.1001-)0.01010.0100原碼表示法是最好理解的,但是,在計(jì)算機(jī)中采用原碼進(jìn)行算術(shù)運(yùn)算時(shí)比較麻煩,而且,這種方法對(duì)于“0”的表示不唯一。第三十九頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=-0.0101,求[S2+S1]原和[S2-S1]原。解:[S2-S1]原=

[(-0.0101)-(0.1001)]原由于S1和S2的符號(hào)相同,因此,實(shí)際上要進(jìn)行Sl加S2的運(yùn)算,其結(jié)果為負(fù)。0.0101+)0.10010.1110故其真值為S2-S1

=-0.1101第四十頁,共七十七頁,編輯于2023年,星期一機(jī)器數(shù)的運(yùn)算二、反碼運(yùn)算反碼加、減運(yùn)算規(guī)則:[S2+S1]反=[S2]反+[S1]反[S2-S1]反=[S2]反+[-S1]反采用反碼進(jìn)行加、減運(yùn)算時(shí),無論進(jìn)行兩數(shù)相加還是兩數(shù)相減,均可通過加法實(shí)現(xiàn)。第四十一頁,共七十七頁,編輯于2023年,星期一機(jī)器數(shù)的運(yùn)算反碼的加、減運(yùn)算規(guī)則表明:兩數(shù)和的反碼等于兩數(shù)的反碼之和,而兩數(shù)差的反碼也可以用加法來實(shí)現(xiàn)。運(yùn)算時(shí),符號(hào)位和數(shù)值位一樣參加運(yùn)算,如果符號(hào)位產(chǎn)生進(jìn)位,則需將此進(jìn)位加到和數(shù)的最低位,稱之為“循環(huán)進(jìn)位”。運(yùn)算結(jié)果的符號(hào)位為0時(shí),說明是正數(shù)的反碼,與原碼相同;運(yùn)算結(jié)果的符號(hào)位為1時(shí),說明是負(fù)數(shù)的反碼,應(yīng)再對(duì)運(yùn)算結(jié)果求反碼,才得到原碼。第四十二頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=-0.0101,求[S2+S1]反和[S2-S1]反。解:

[S2+S1]反=[S2]反+[S1]反=

1.1010+0.10011.1010+)0.100110.00111-------循環(huán)進(jìn)位0.0100+)由于答案符號(hào)位為0,故其真值為S2+S1=

0.0100第四十三頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=-0.0101,求[S2+S1]反和[S2-S1]反。又

[S2-S1]反=

[S2]反+[-S1]反=

1.1010+1.01101.1010+)1.011011.00001-------循環(huán)進(jìn)位1.0001+)由于答案符號(hào)位為1,說明是負(fù)數(shù)的反碼,應(yīng)再對(duì)運(yùn)算結(jié)果求反碼,才得到原碼。則其真值為S2-S1=

-0.1110第四十四頁,共七十七頁,編輯于2023年,星期一機(jī)器數(shù)的運(yùn)算三、補(bǔ)碼運(yùn)算

補(bǔ)碼運(yùn)算同反碼運(yùn)算一樣,兩數(shù)差的補(bǔ)碼可以用兩數(shù)補(bǔ)碼的加法來實(shí)現(xiàn)。補(bǔ)碼加、減運(yùn)算規(guī)則是:[S2+S1]補(bǔ)=

[S2]補(bǔ)+[S1]補(bǔ)[S2-S1]補(bǔ)=

[S2]補(bǔ)+[-S1]補(bǔ)第四十五頁,共七十七頁,編輯于2023年,星期一機(jī)器數(shù)的運(yùn)算三、補(bǔ)碼運(yùn)算運(yùn)算時(shí),符號(hào)位和數(shù)值位一樣參加運(yùn)算

如果符號(hào)位產(chǎn)生了進(jìn)位,則此進(jìn)位可“略去”運(yùn)算結(jié)果符號(hào)位為0時(shí),說明是正數(shù)的補(bǔ)碼,與原碼相同。

運(yùn)算結(jié)果符號(hào)位為1,說明是負(fù)數(shù)的補(bǔ)碼,應(yīng)對(duì)結(jié)果再求補(bǔ)碼才得原碼。第四十六頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=

-0.0101,求[S2+S1]補(bǔ)和[S2-S1]補(bǔ)。解:

[S2+S1]補(bǔ)=

[S2]補(bǔ)+[S1]補(bǔ)=

1.1011+0.10011.1011+)0.100110.0100略去0.0100由于答案符號(hào)位為0,故其真值為S2+S1=

0.0100第四十七頁,共七十七頁,編輯于2023年,星期一例:

已知S1=

0.1001,S2=

-0.0101,求[S2+S1]補(bǔ)和[S2-S1]補(bǔ)。又

[S2-S1]補(bǔ)=

[S2]補(bǔ)+[-S1]補(bǔ)=

1.1011+1.01111.1011+)1.011111.0010略去1.0010運(yùn)算結(jié)果的符號(hào)位為1,說明是負(fù)數(shù)的補(bǔ)碼,應(yīng)對(duì)補(bǔ)碼求補(bǔ)后才能得到原碼,即[S2-S1]原=

1.1110由于其符號(hào)位為1,真值為S2-S1=-0.1110第四十八頁,共七十七頁,編輯于2023年,星期一從上述的討論可以看出,原碼、反碼和補(bǔ)碼各有優(yōu)缺點(diǎn)。原碼表示法簡(jiǎn)單方便,但原碼減法必須做真正的減法,不能用加法來代替,因此實(shí)現(xiàn)原碼運(yùn)算所需的邏輯電路比較復(fù)雜。反碼和補(bǔ)碼的優(yōu)點(diǎn)是只需用加法邏輯電路便可實(shí)現(xiàn)。并且用補(bǔ)碼進(jìn)行減法運(yùn)算很方便,它只需進(jìn)行一次算術(shù)相加。而用反碼進(jìn)行減法運(yùn)算,若符號(hào)位產(chǎn)生進(jìn)位就需進(jìn)行兩次算術(shù)相加。而且反碼還有一個(gè)缺點(diǎn),就是具有兩個(gè)零值,這容易在計(jì)算過程中產(chǎn)生歧意。第四十九頁,共七十七頁,編輯于2023年,星期一思考:整數(shù)運(yùn)算例:

設(shè)S1和S2為單字節(jié)數(shù),已知S1=24D,S2=-16D,求[S2+S1]補(bǔ)和[S2-S1]補(bǔ)。解:

[S1]補(bǔ)=00011000[S2]補(bǔ)=11110000[S2+S1]補(bǔ)=

[S2]補(bǔ)+[S1]補(bǔ)00011000+)11110000100001000略去00001000第五十頁,共七十七頁,編輯于2023年,星期一思考:整數(shù)運(yùn)算例:

設(shè)S1和S2為單字節(jié)數(shù),已知S1=24D,S2=-16D,求[S2+S1]補(bǔ)和[S2-S1]補(bǔ)。解:

[-S1]補(bǔ)=11101000[S2]補(bǔ)=11110000[S2-S1]補(bǔ)=

[S2]補(bǔ)+[-S1]補(bǔ)11110000+)11101000111011000略去11011000求補(bǔ)碼得:10101000第五十一頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示及加減運(yùn)算二、加減法運(yùn)算的溢出處理由于機(jī)器碼的位數(shù)通常是給定的(如16位字長(zhǎng),32位字長(zhǎng)),因此,數(shù)的表示范圍是有限的,若兩數(shù)進(jìn)行加減運(yùn)算的結(jié)果超出給定的取值范圍,就會(huì)產(chǎn)生溢出。例,X=+0.1011,Y=+0.1001,X+Y=?[X]補(bǔ)0.1011+[Y]補(bǔ)0.10011.0100此時(shí),兩個(gè)正數(shù)相加的結(jié)果成為負(fù)數(shù),顯然是錯(cuò)誤的。第五十二頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示及加減運(yùn)算又如,X=-0.1101,Y=-0.1011,X+Y=?[X]補(bǔ)1.0011+[Y]補(bǔ)1.01010.1000兩個(gè)負(fù)數(shù)相加的結(jié)果成為正數(shù),這同樣是錯(cuò)誤的。為判斷溢出是否產(chǎn)生,可以采用兩種檢測(cè)方法。第五十三頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示及加減運(yùn)算1、變形碼操作檢測(cè)方法:每個(gè)操作數(shù)在運(yùn)算時(shí)都采用兩個(gè)符號(hào)位,正數(shù)用00表示,負(fù)數(shù)用11表示,兩個(gè)符號(hào)位與碼值一起參加運(yùn)算;若運(yùn)算結(jié)果的兩個(gè)符號(hào)位的代碼不一致時(shí)表示溢出,兩個(gè)符號(hào)位代碼一致時(shí),沒有溢出。這種變形的補(bǔ)碼表示,又稱模4補(bǔ)碼表示方法,其定義為:

[X]=X0<=X<14+X-1<=X<0第五十四頁,共七十七頁,編輯于2023年,星期一帶符號(hào)數(shù)的表示及加減運(yùn)算例,X=+0.1011,Y=+0.1101,用模4補(bǔ)碼運(yùn)算判斷x+y是否溢出[X]補(bǔ)00.1011+[Y]補(bǔ)00.110101.1000符號(hào)位代碼01,表示正溢出,表明運(yùn)算結(jié)果是大于允許取值范圍的正數(shù)。又如,X=-0.1011,Y=-0.1100,用模4補(bǔ)碼運(yùn)算判斷x+y是否溢出?[X]補(bǔ)11.0101+[Y]補(bǔ)11.010010.1001符號(hào)位代碼10,表示負(fù)溢出,表明運(yùn)算結(jié)果是負(fù)數(shù),其絕對(duì)值大于允許取值范圍。第五十五頁,共七十七頁,編輯于2023年,星期一3.2帶符號(hào)數(shù)的表示及加減運(yùn)算2、單符號(hào)位操作檢測(cè)方法:當(dāng)運(yùn)算結(jié)果的符號(hào)位與操作數(shù)的符號(hào)位不一致時(shí),表示溢出;當(dāng)加數(shù)和被加數(shù)符號(hào)位不同時(shí),相加的結(jié)果絕對(duì)不會(huì)溢出。例,X=+0.1001,Y=+0.1110,用模2補(bǔ)碼運(yùn)算判斷x+y是否溢出?[X]補(bǔ)0.1001+[Y]補(bǔ)0.11101.0111運(yùn)算結(jié)果產(chǎn)生溢出。很顯然,溢出只能出現(xiàn)在兩個(gè)同符號(hào)數(shù)相加或兩個(gè)異符號(hào)數(shù)相減的情況下。第五十六頁,共七十七頁,編輯于2023年,星期一定點(diǎn)數(shù)和浮點(diǎn)數(shù)三、定點(diǎn)數(shù)和浮點(diǎn)數(shù)所謂定點(diǎn)格式,即約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。在計(jì)算機(jī)中通常采用兩種簡(jiǎn)單的約定:將小數(shù)點(diǎn)的位置固定在數(shù)據(jù)的最高位之前,或者是固定在最低位之后。一般常稱前者為定點(diǎn)小數(shù),后者為定點(diǎn)整數(shù)。第五十七頁,共七十七頁,編輯于2023年,星期一第五十八頁,共七十七頁,編輯于2023年,星期一1、定點(diǎn)小數(shù)表示方法:小數(shù)點(diǎn)固定在最高數(shù)值位與符號(hào)位之間,小數(shù)點(diǎn)不用明確表示出來。任何一個(gè)小數(shù)都可以被寫成:

N=Ns.N-1N-2……N-m

其中,符號(hào)位用0表示正號(hào),用1表示負(fù)號(hào),后面m位表示該小數(shù)的數(shù)值。定點(diǎn)小數(shù)的值的范圍很小,對(duì)用m+1個(gè)二進(jìn)制位表示的小數(shù),其值的范圍|N|<=1-2-m,即小于1的純小數(shù)。第五十九頁,共七十七頁,編輯于2023年,星期一2、定點(diǎn)整數(shù)表示方法:小數(shù)點(diǎn)固定在數(shù)值最低位右邊的一種數(shù)據(jù),最小的數(shù)為1。具有帶符號(hào)和不帶符號(hào)的兩類。帶符號(hào)的整數(shù):N=NsNnNn-1…..N2N1N0

對(duì)于n+1位二進(jìn)制整數(shù),其值范圍為|N|<=2n-1不帶符號(hào)的整數(shù):N=NnNn-1…..N2N1N0

對(duì)于n+1為的二進(jìn)制整數(shù),其值范圍為0<=N<=2n+1-1

第六十頁,共七十七頁,編輯于2023年,星期一定點(diǎn)數(shù)和浮點(diǎn)數(shù)定點(diǎn)數(shù)表達(dá)法的缺點(diǎn)在于:形式過于僵硬,固定的小數(shù)點(diǎn)位置決定了固定位數(shù)的整數(shù)部分和小數(shù)部分,不利于同時(shí)表達(dá)特別大的數(shù)或者特別小的數(shù)。最終,絕大多數(shù)現(xiàn)代的計(jì)算機(jī)系統(tǒng)采納了浮點(diǎn)數(shù)表達(dá)方式。第六十一頁,共七十七頁,編輯于2023年,星期一浮點(diǎn)數(shù)浮點(diǎn)數(shù)利用科學(xué)計(jì)數(shù)法來表達(dá)實(shí)數(shù)即用一個(gè)尾數(shù)(Mantissa),一個(gè)基數(shù)(Base),一個(gè)指數(shù)(Exponent)以及一個(gè)表示正負(fù)的符號(hào)來表達(dá)實(shí)數(shù)。比如:123.45用十進(jìn)制科學(xué)計(jì)數(shù)法可以表達(dá)為1.2345×102

,其中1.2345為尾數(shù),10為基數(shù),2為指數(shù)。浮點(diǎn)數(shù)利用指數(shù)達(dá)到了浮動(dòng)小數(shù)點(diǎn)的效果,從而可以靈活地表達(dá)更大范圍的實(shí)數(shù)。第六十二頁,共七十七頁,編輯于2023年,星期一浮點(diǎn)數(shù)同樣的數(shù)值可以有多種浮點(diǎn)數(shù)表達(dá)方式,比如上面例子中的123.45可以表達(dá)為:

12.345×1010.12345×103

1.2345×102因?yàn)檫@種多樣性,有必要對(duì)其加以規(guī)范化以達(dá)到統(tǒng)一表達(dá)的目標(biāo)。第六十三頁,共七十七頁,編輯于2023年,星期一浮點(diǎn)數(shù)規(guī)范的(Normalized)浮點(diǎn)數(shù)表達(dá)方式具有如下形式:±d.dd...d×β

e,(0≤di<β)其中d.dd...d即尾數(shù),β為基數(shù),e為指數(shù)。尾數(shù)中數(shù)字的個(gè)數(shù)稱為精度,在此用p來表示。每個(gè)數(shù)字d介于0和基數(shù)之間,包括0。小數(shù)點(diǎn)左側(cè)的數(shù)字不為0。第六十四頁,共七十七頁,編輯于2023年,星期一二進(jìn)制浮點(diǎn)數(shù)二進(jìn)制數(shù)同樣可以有小數(shù)點(diǎn),也同樣具有類似于十進(jìn)制的表達(dá)方式。此時(shí)β等于2,而每個(gè)數(shù)字d只能在0和1之間取值。比如二進(jìn)制數(shù)1001.101相當(dāng)于1×23+0×22+0×21+1×20+1×2-1+0×2-2+1×2-3,對(duì)應(yīng)于十進(jìn)制的??。其規(guī)范浮點(diǎn)數(shù)表達(dá)為1.001101×23。第六十五頁,共七十七頁,編輯于2023年,星期一二進(jìn)制浮點(diǎn)數(shù)二進(jìn)制浮點(diǎn)數(shù)表示方法:任意一個(gè)二進(jìn)制數(shù)通過移動(dòng)小數(shù)點(diǎn)的位置表示成階碼和尾數(shù)兩部分,類似科學(xué)計(jì)算法

N=M×2E

其中,E為N的階碼,有符號(hào)的整數(shù);M為N的尾數(shù),數(shù)值的有效部分階碼Ef

E1

…EmMf

M1

…Mn浮點(diǎn)數(shù)機(jī)器格式:尾數(shù)階符數(shù)符第六十六頁,共七十七頁,編輯于2023年,星期一二進(jìn)制浮點(diǎn)數(shù)浮點(diǎn)數(shù)表示的優(yōu)點(diǎn):(1)浮點(diǎn)數(shù)表示的范圍比定點(diǎn)數(shù)大;(2)運(yùn)算過程中隨時(shí)對(duì)中間結(jié)果的浮點(diǎn)數(shù)規(guī)格化,不易丟失有效數(shù)字。C、java中float

和double

采納了IEEE754標(biāo)準(zhǔn)中所定義的單精度32位浮點(diǎn)數(shù)和雙精度64位浮點(diǎn)數(shù)的格式。美國(guó)電氣和電子工程師協(xié)會(huì)InstituteofElectricalandElectronicsEngineers第六十七頁,共七十七頁,編輯于2023年,星期一二進(jìn)制浮點(diǎn)數(shù)在IEEE標(biāo)準(zhǔn)中,浮點(diǎn)數(shù)是將特定長(zhǎng)度的連續(xù)字節(jié)的所有二進(jìn)制位分割為特定寬度的符號(hào)域,指數(shù)域和尾數(shù)域三個(gè)域,其中保存的值分別用于表示給定二進(jìn)制浮點(diǎn)數(shù)中的符號(hào),指數(shù)和尾數(shù)。這樣,通過尾數(shù)和可以調(diào)節(jié)的指數(shù)(所以稱為"浮點(diǎn)")就可以表達(dá)給定的數(shù)值了。第六十八頁,共七十七頁,編輯于2023年,星期一?符號(hào)域指數(shù)域尾數(shù)域指數(shù)偏移量單精度浮點(diǎn)數(shù)1位[31]8位[30-23]23位[22-00]127雙精度浮點(diǎn)數(shù)1位[63]11位[62-52]52位[51-00]1023符號(hào)域:符號(hào)域占1位,0表示正數(shù),1表示負(fù)數(shù)。指數(shù)域:指數(shù)域共有8位,可表達(dá)的范圍為:0~255。為能處理負(fù)指數(shù),實(shí)際指數(shù)位存儲(chǔ)在指數(shù)域中值減去一個(gè)偏移量(單精度為127,雙精度為1023)。單精度浮點(diǎn)數(shù)的偏移量為127,故實(shí)際可表達(dá)的指數(shù)值的范圍為-127~128。第六十九頁,共七十七頁,編輯于2023年,星期一?符號(hào)域指數(shù)域尾數(shù)域指數(shù)偏移量單精度浮點(diǎn)數(shù)1位[31]8位[30-23]23位[22-00]127雙精度浮點(diǎn)數(shù)1位[63]11位[62-52]52位[51-00]1023尾數(shù)域:尾數(shù)域共有23位。

尾數(shù)位的多少反映了數(shù)的精確程度。它由一位隱含的前導(dǎo)位和分?jǐn)?shù)位組成。前導(dǎo)位為1,不需要表示出來。這樣,尾數(shù)實(shí)際上由24位組成。實(shí)際尾數(shù)域所表示的值是1.M第七十頁,共七十七頁,編輯于2023年,星期一

S:符號(hào)位,S=0表示正數(shù),S=1表示負(fù)數(shù)。M:尾數(shù),小數(shù)點(diǎn)放在尾數(shù)域的最前面。

其中尾數(shù)域所表示的值是1.M(規(guī)格化表示)E:階碼,采用移碼方法來表示正負(fù)指數(shù)。浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值127(01111111),即E=e+127。一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)x的真值可表示為:

e=E-127SEMIEEE754標(biāo)準(zhǔn):

32位浮點(diǎn)數(shù)313023220第七十一頁,共七十七頁,編輯于2023年,星期一解:178.125=10110010.00

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論