第2章 計算機(jī)中信息的表示方法_第1頁
第2章 計算機(jī)中信息的表示方法_第2頁
第2章 計算機(jī)中信息的表示方法_第3頁
第2章 計算機(jī)中信息的表示方法_第4頁
第2章 計算機(jī)中信息的表示方法_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章

計算機(jī)中信息的表示方法

主要內(nèi)容數(shù)制及其轉(zhuǎn)換數(shù)據(jù)和文字的表示方法掌握定點(diǎn)數(shù)的加減、乘除運(yùn)算掌握浮點(diǎn)數(shù)加減運(yùn)算了解常用字符的編碼第一節(jié)數(shù)值及其編碼無符號數(shù)的表示及運(yùn)算

計算機(jī)中的數(shù)據(jù)都是采用二進(jìn)制形式存儲和處理的,二進(jìn)制數(shù)只有兩個數(shù)字0和1,因此在物理上容易實現(xiàn),這與我們?nèi)粘I钪兴褂玫氖M(jìn)制數(shù)是不同的。

一、計算機(jī)中常用的進(jìn)制數(shù)

人們最常用的數(shù)是十進(jìn)制數(shù),計算機(jī)中采用的是二進(jìn)制數(shù),同時有的時候為了簡化二進(jìn)制數(shù)據(jù)的書寫,也采用八進(jìn)制和十六進(jìn)制表示方法。下面將分別介紹這幾種常用的進(jìn)制。

十進(jìn)制數(shù)

十進(jìn)制數(shù)是大家熟悉的,用0,1,2,…,8,9十個不同的符號來表示數(shù)值,它采用的是“逢十進(jìn)一,借一當(dāng)十”的原則。十進(jìn)制表示數(shù)值方法如下:

ND=±Ki*10i

其中:Ki=01…..9例:十進(jìn)制數(shù)132.5表示如下:

(132.5)D=1*102+3*101+2*100+5*10-1

∑i=-mn·二進(jìn)制數(shù)基數(shù)為10的記數(shù)制叫十進(jìn)制;基數(shù)為2的記數(shù)制叫做二進(jìn)制。二進(jìn)制數(shù)的計算規(guī)則是“逢二進(jìn)一,借一當(dāng)二”。

二進(jìn)制表示數(shù)值方法如下:

NB=±Ki*2i其中:Ki

=0或1ni=-m例:二進(jìn)制數(shù)1011.1表示如下:(1011.1)B=1*23+0*22+1*21+1*20

+1*2-13、八進(jìn)制表示法八進(jìn)制數(shù)是基數(shù)為八的計數(shù)制。八進(jìn)制數(shù)主要采用0,1,2,…,7這八個阿拉伯?dāng)?shù)字。八進(jìn)制數(shù)的運(yùn)算規(guī)則為“逢八進(jìn)一,借一當(dāng)八”。八進(jìn)制表示數(shù)值方法如下:

NO=±Ki*8i其中:Ki

=0、1、2、3、4、5、6、7ni=-m例:(467.6)O=4*82

+6*81

+7*80+6*8-14、十六進(jìn)制表示法基數(shù)為16,用0-9、A-F十五個字符來數(shù)值,逢十六進(jìn)一。各位的權(quán)值為16i。二進(jìn)制表示數(shù)值方法如下:

NH=±Ki*16i其中:Ki

=0-9、A-Fni=-m例:(56D.3)H=5*162

+6*161+13*160+3*16-1二、進(jìn)制間的轉(zhuǎn)換(分為三種)1、其它進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換(1)其它進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)方法:按位權(quán)進(jìn)行展開相加即可。例:(11101.101)B=1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=16+8+4+0+1+0.5+0.25+0.125=29.875

(237.6)B=2×82+3×81+7×80+6×8-1=128+24+7+0.75=159.75

(56D.3)H=5*162

+6*161+13*160+3*16-1

=1280+96+13+0.19375=1389.193752.十進(jìn)制數(shù)轉(zhuǎn)換為其它進(jìn)制數(shù)方法:A、將整數(shù)部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換,然后再把轉(zhuǎn)換結(jié)果進(jìn)行相加。B、整數(shù)轉(zhuǎn)換采用除2取余法:用2不斷地去除要轉(zhuǎn)換的數(shù),直到商為0。再將每一步所得的余數(shù),按逆序排列,便可得轉(zhuǎn)換結(jié)果。C、小數(shù)轉(zhuǎn)換采用乘2取整法:每次用2與小數(shù)部分相乘,取乘積的整數(shù)部分,再取其小數(shù)部分乘2直到小部分為0。將所取整數(shù)順序放在小數(shù)點(diǎn)后即為轉(zhuǎn)換結(jié)果。例:將(136)D轉(zhuǎn)換為二進(jìn)制數(shù)。

2136余數(shù)(結(jié)果)低位

268----------0234----------0217----------028----------124----------022----------021----------00----------1高位轉(zhuǎn)換結(jié)果:(136)D=(10001000)B例:將(0.625)D轉(zhuǎn)換為二進(jìn)制數(shù)。0.625*2

1.25*2

0.5*2

1.0

取整:高位低位轉(zhuǎn)換結(jié)果:(0.625)D=(0.101)B所以(136.625)D=(10001000.101)B例:將(136)D轉(zhuǎn)換為八進(jìn)制數(shù)。

8136余數(shù)(結(jié)果)低位

817----------082----------180----------2高位(136)D=(210)O

將(0.625)D轉(zhuǎn)換為二進(jìn)制數(shù)。

0.325*8

2.6*84.8*8

6.4*83.2

取整:高位低位(0.325)D=(0.2463)O所以(136.325)D=(210.2463)O若乘積的小數(shù)部分永不為0,則根據(jù)精度的要求截取一定的位數(shù)即可。3.二進(jìn)制數(shù)和八進(jìn)制數(shù)、十六進(jìn)制數(shù)間的轉(zhuǎn)換(1)二進(jìn)制數(shù)到八進(jìn)制數(shù)、十六進(jìn)制數(shù)的轉(zhuǎn)換A、二進(jìn)制數(shù)到八進(jìn)制數(shù)轉(zhuǎn)換采用“三位化一位”的方法。從小數(shù)點(diǎn)開始向兩邊分別進(jìn)行每三位分一組,向左不足三位的,從左邊補(bǔ)0;向右不足三位的,從右邊補(bǔ)0。B、二進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)換采用“四位化一位”的方法。從小數(shù)點(diǎn)開始向兩邊分別進(jìn)行每四位分一組,向左不足四位的,從左邊補(bǔ)0;向右不足四位的,從右邊補(bǔ)0。例:將(1000110.01)B轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。

1

000110.01001

000110.010

(106.2)O二進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)換:(1000110.01)B=1000110.0101000110.0100(46.4)H(2)、八進(jìn)制、十六進(jìn)制數(shù)到二進(jìn)制數(shù)的轉(zhuǎn)換方法:采用“一位化三位(四位)”的方法。按順序?qū)懗雒课话诉M(jìn)制(十六進(jìn)制)數(shù)對應(yīng)的二進(jìn)制數(shù),所得結(jié)果即為相應(yīng)的二進(jìn)制數(shù)。例:將(352.6)o轉(zhuǎn)換為二進(jìn)制數(shù)。

352.6011101010110=(11101010.11)B

0011010100100110=(1101010010.011)H由于二進(jìn)制數(shù)書寫冗長易錯,,因此在計算機(jī)中一般用十六進(jìn)制來表示數(shù),比較簡潔方便。三、無符號二進(jìn)制數(shù)的運(yùn)算二進(jìn)制數(shù)的算術(shù)運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算算術(shù)運(yùn)算規(guī)則:加法運(yùn)算:0+0=00+1=11+0=11+1=10(逢二進(jìn)一)減法運(yùn)算:0-0=010-1=1(借位)1-0=11-1=0乘法運(yùn)算:0*0=00*1=01*0=01*1=1除法運(yùn)算0/1=01/1=1邏輯運(yùn)算規(guī)則

“或”運(yùn)算:

0+0=00+1=11+0=11+1=1“與”運(yùn)算:

0*0=00*1=01*0=01*1=1“非”運(yùn)算

0=11=0

“異或”運(yùn)算

00=0

0

1=11

0=111=0

二進(jìn)制編碼的十進(jìn)制數(shù)(BCD碼)

BCD碼是一種用4位二進(jìn)制數(shù)字來表示一位十進(jìn)制數(shù)字的編碼,也成為二進(jìn)制編碼表示的十進(jìn)制數(shù)(BinaryCodeDecimal),簡稱BCD碼。表2-2示出了十進(jìn)制數(shù)0-15的BCD碼。

BCD碼有兩種格式:(1)壓縮BCD碼格式(PackedBCDFormat)

用4個二進(jìn)制位表示一個十進(jìn)制位,就是用0000B-1001B來表示十進(jìn)制數(shù)0-9。例如:十進(jìn)制數(shù)4256的壓縮BCD碼表示為:0100001001010110B(2)非壓縮BCD碼格式(UnpackedBCDFormat)用8個二進(jìn)制位表示一個十進(jìn)制位,其中,高四位無意義,我們一般用xxxx表示,低四位和壓縮BCD碼相同。例如:十進(jìn)制數(shù)4256的非壓縮BCD碼表示為:

xxxx0100xxxx0010xxxx0101xxxx0110B

第二節(jié)計算機(jī)中常用的字符編碼1、ASCII碼

計算機(jī)處理信息時的符號、字母等字符,也必須采用二進(jìn)制編碼的形式,編碼的形式有多種,常用的編碼方式為美國標(biāo)準(zhǔn)信息交換(AmericanStandardCardforInformationInterchange,ASCII碼)。

ASCII用8位二進(jìn)制對字符編碼,共可表示256種字符。2.漢字編碼(國際碼)漢字的輸入編碼漢字內(nèi)碼漢字字模碼習(xí)題1.將下列各十進(jìn)制數(shù)轉(zhuǎn)換成為二進(jìn)制數(shù)(最多保留6位小數(shù))(1)221(2)12.375(3)123.25(4)1232.以十六進(jìn)制形式,給出下列十進(jìn)制數(shù)對應(yīng)的8位二進(jìn)制補(bǔ)碼表示。(1)46(2)-46(3)-128(4)1273.給出下列十進(jìn)制數(shù)對應(yīng)的壓縮和非壓縮BCD碼形式。(1)58(2)1624以十六進(jìn)制形式,給出下列十進(jìn)制數(shù)對應(yīng)的8位二進(jìn)制補(bǔ)碼表示。(1)46(2)-46(3)-128(4)1275.標(biāo)準(zhǔn)的ASCII碼由()位二進(jìn)制代碼組成。

A.4 B.7C.8D.9真值為-1000000B的補(bǔ)碼為______。7.

二進(jìn)制數(shù)10010110.10B的十進(jìn)制數(shù)值可表示為()

A.96.8B.150.5C.96.5D.160.5

8.鍵盤輸入20時,實際運(yùn)行的ASCII碼是(

)。

A.42H40H

B.62H60H

C.32H30H

D.52H50H

(1F2)16=(_____________)10。計算機(jī)表示一個二進(jìn)制數(shù)的最小單位是_______。數(shù)字“3”帶偶校驗的ASCII代碼為()。

A.33H B.34HC.B3HD.B4H16位二進(jìn)制所表示的無符號整數(shù),其相應(yīng)的十進(jìn)制數(shù)范圍是()

A.0~65536B.1~65536C.1~65535D.0~6553516.二進(jìn)制數(shù)10010110.10B的十進(jìn)制數(shù)值可表示為()

A.96.8B.150.5C.96.5D.160.5

帶符號數(shù)的表示及運(yùn)算帶符號數(shù)的表示真值與補(bǔ)碼之間的轉(zhuǎn)換補(bǔ)碼的運(yùn)算帶符號數(shù)的表示機(jī)器數(shù):數(shù)值數(shù)據(jù)在計算機(jī)中的編碼。機(jī)器數(shù)的真值:機(jī)器數(shù)所代表的實際數(shù)值。常用的編碼方案:原碼、反碼、補(bǔ)碼。1、原碼表示碼原碼:用最高位表示符號,其中:0----正、1----負(fù),其它位表示數(shù)值的絕對值。例:求X1=0.1011,X2=-0.1011的原碼表示。(8位)

[X1]原

=0.1011000[X2]原=1.1011000小數(shù)點(diǎn)位置例:求X1=1011,X2=-1011的原碼。(8位)

[X1]原=00001011[X2]原=10001011小數(shù)點(diǎn)位置0的表示形式(8位)[+0]原=00000000[-0]原=10000000特點(diǎn)A、原碼與真值的對應(yīng)關(guān)系簡單。B、0的編碼不唯一,處理運(yùn)算不方便。2、反碼表示法

正數(shù):反碼與原碼相同。負(fù)數(shù):最高一位表示符號,數(shù)值位取反。

[+0]反=00000000[-0]反=1111111[+1100111]反=01100111[-1100111]反=100110003、

補(bǔ)碼表示法正數(shù)的補(bǔ)碼和原碼相同。負(fù)數(shù)的補(bǔ)碼=反碼末位+1。例:求0.1011和-0.1011的補(bǔ)碼。(8位)[0.1011]真=[0.1011]原=[0.1011000]補(bǔ)[-0.1011]真=[1.1011000]原=[1.0100111]反=[1.0101000]補(bǔ)[0]補(bǔ)=[+0]補(bǔ)=[-0]補(bǔ)=00000000(唯一)真值與補(bǔ)碼之間的轉(zhuǎn)換(1)真值轉(zhuǎn)換為補(bǔ)碼例1:設(shè)x=+127D,求[x]補(bǔ)解:+127D=01111111B

故[x]補(bǔ)=[+127]補(bǔ)=[01111111]補(bǔ)例2:設(shè)x=-127D,求[x]補(bǔ)解:-127D=11111111B

故[x]補(bǔ)=[-127]補(bǔ)=[11111111]原

=[10000000]反=[10000001]補(bǔ)(2)補(bǔ)碼轉(zhuǎn)換為真值例1:設(shè)

[x]補(bǔ)=01111110求x解:該補(bǔ)碼最高位為0,對應(yīng)真值為正值

故x=+1111110B=+126D例2:設(shè)

[x]補(bǔ)=10000010求x解:該補(bǔ)碼最高位為1,對應(yīng)真值為負(fù)值

故x=[10000001]反=[11111110]原

=-1111110B=-126D機(jī)器數(shù)的表示范圍各種編碼表示數(shù)的范圍不同,以8位二進(jìn)制帶符號整數(shù)x為例:

11111111≤(x)原≤01111111即:

-(27-1)≤(x)原≤27-110000000≤(x)反≤01111111即:

-(27-1)≤(x)反≤27-110000000≤(x)補(bǔ)≤01111111即:

-27≤(x)補(bǔ)≤27-11字節(jié)補(bǔ)碼的表示范圍是_________。練習(xí):

1.已知5位二進(jìn)制定點(diǎn)整數(shù)的機(jī)器碼是11111,則:其為原碼時表示的十進(jìn)制數(shù)真值是();其為補(bǔ)碼時表示的十進(jìn)制數(shù)真值是();其為反碼時表示的十進(jìn)制數(shù)真值是();其為移碼時表示的十進(jìn)制數(shù)真值是()。

5位二進(jìn)制定點(diǎn)整數(shù)的補(bǔ)碼表示的最大正數(shù)是();表示的最小負(fù)數(shù)是().

2.數(shù)值數(shù)據(jù)在機(jī)器中可采用原碼、反碼、補(bǔ)碼或移碼來表示,在()表示方式中真值0的機(jī)器碼是唯一且為全“0”;在()表示方式中最高位為“0”表示負(fù)號,而為“1”表示正號。

3.假設(shè)計算機(jī)字長16位,用下列兩種格式表示數(shù)據(jù)。

浮點(diǎn)格式:階碼5位二進(jìn)制碼(包括一位階符),用移碼表示,尾數(shù)11位原碼(包括一位尾符),規(guī)定階碼在前,尾數(shù)在后,階的基數(shù)為2。

定點(diǎn)整數(shù):16位二進(jìn)制數(shù)補(bǔ)碼表示,符號為在最高位。若有一個16位的機(jī)器數(shù)FF00(十六進(jìn)制表示),則它表示的定點(diǎn)整數(shù)和浮點(diǎn)數(shù)的十進(jìn)制真值為(-28

)和(-3*213

)。

4.浮點(diǎn)數(shù)的正、負(fù)符號是由()決定的。

5.設(shè)一個4位二進(jìn)制數(shù)X=0.a1a2a3a4,

若X>1/2,a1-

a4

取什么值;

X≥1/8,a1-

a4

取什么值。

6.在計算機(jī)中廣泛使用的ASCII碼共可表示()種字符,若每個字附加一位奇偶校驗位,則每個字符的代碼占()位。7.在浮點(diǎn)表示方法中()是隱含的.(1)位數(shù)(2)基數(shù)(3)階碼(4)尾數(shù)8.用8位補(bǔ)碼表示整數(shù)-126的機(jī)器碼算術(shù)右移一位后的結(jié)果是().

(1)10000001(2)01000001(3)11000001(4)11000010

9.假設(shè)在機(jī)器中浮點(diǎn)數(shù)的表示格式為當(dāng)采用下列四種不同編碼方式時(階碼基值為2,尾數(shù)以規(guī)格化表示),求十進(jìn)制數(shù)-123.625在機(jī)器中的表示形式。當(dāng)尾數(shù)用原碼表示,階碼用補(bǔ)碼表示為

(1)

,當(dāng)尾數(shù)用補(bǔ)碼表示,階碼用補(bǔ)碼表示為(2),當(dāng)尾數(shù)用原碼表示,階碼用移碼表示為(3),當(dāng)尾數(shù)用補(bǔ)碼表示,階碼用移碼表示為(4)。階符階碼尾符尾在一個邏輯電路中,有兩個輸入信號X、Y和一個輸出信號V。當(dāng)且僅當(dāng)X=1、Y=O時,V=O,則V的邏輯表達(dá)式為__(29)__。

(29)A.X+YB.X·Y

C.X·YD.X+Y

11.若碼值FFH是一個整數(shù)的原碼表示,則該整數(shù)的真值為__(45)__:若碼值FFH是一個整數(shù)的補(bǔ)碼表示,則該整數(shù)的真值為_

_。

A.127

B.0

C.-127

D.-1

A.127

B.0

C.-127

D.-1補(bǔ)碼的運(yùn)算補(bǔ)碼表示的兩個數(shù)在進(jìn)行加法運(yùn)算時,可以把符號位與數(shù)值位同等處理,只要結(jié)果不超出機(jī)器所能表示的數(shù)值范圍,運(yùn)算后的結(jié)果按2n+1取模(對于整數(shù));或按2取模(對于小數(shù)),就能得到本次加法的運(yùn)算結(jié)果。(1)整數(shù)運(yùn)算規(guī)則補(bǔ)碼加法:[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)(mod2n+1)

補(bǔ)碼減法:[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)

(mod2n+1)

例:x=1001,y=-0011,用補(bǔ)碼的減法求x+y和x-y

解:[x]補(bǔ)=01001,[y]補(bǔ)=11101,[-y]補(bǔ)=00011[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)

=01001+11101=00110

(按模2的意義,最左邊的1丟掉)所以x+y=+0110[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)

=01001+00011=01100所以x-y=+1100(1)小數(shù)運(yùn)算規(guī)則

補(bǔ)碼加法:[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)

(mod2)

補(bǔ)碼減法:[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)

(mod2)

例:x=0.1001,y=-0.0011,用補(bǔ)碼的減法求x+y和x-y

解:[x]補(bǔ)=0.1001,[y]補(bǔ)=1.1101,[-y]補(bǔ)=0.0011[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)=0.1001+1.1101=0.0110所以x+y=+0.1100[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)=0.1001+0.0011=0.1100所以x-y=+0.1100

練習(xí)已知:x=0.0101,y=-0.0010,用補(bǔ)碼的加減法求x+y和x-y已知:x=0.0110,y=-0.0011,用補(bǔ)碼的加減法求x+y和x-y溢出的產(chǎn)生及判斷例:設(shè)機(jī)器數(shù)字長為8位,其中一位為符號位,令A(yù)=-93,B=+45,求[A-B]補(bǔ)。解:由A=-93=-1011101,得

[A]補(bǔ)=10100011

由B=+45=+0101101,得

[B]補(bǔ)=00101101,

[-B]補(bǔ)=11010011所以[A-B]補(bǔ)=[A]補(bǔ)+[-B]補(bǔ)

=10100011+11010011=101110110溢出的產(chǎn)生原因按模2n+1的意義,最左邊的“1”自然丟掉,故[A-B]補(bǔ)=01110110,還原成真值得A-B=118,結(jié)果出錯。這是因為A-B=-138超出了機(jī)器字長所能表示的范圍。在計算機(jī)中,這種超出機(jī)器字長的現(xiàn)象,叫溢出。為此,在補(bǔ)碼定點(diǎn)加減運(yùn)算過程中,必須對結(jié)果是否溢出作出明確的判斷。

溢出的判斷雙符號位法規(guī)定每個數(shù)的符號位用兩位二進(jìn)制數(shù)表示:正數(shù)用00,負(fù)數(shù)用11表示。結(jié)果的兩符號位相同時,正常;結(jié)果的兩符號位不同時,溢出。其中為01時,稱為上溢;為10時,稱為下溢例題已知:x=+0.1101,y=+1001,求[x+y]補(bǔ)的值解:[x]補(bǔ)=00.1101[y]補(bǔ)=00.1001[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)=01.0110

結(jié)果符號出現(xiàn)01,表示結(jié)果溢出了,而且是上溢。2.已知:x=-0.1011,y=-0.1101,求[x+y]補(bǔ)的值解:[x]補(bǔ)=11.1011[y]補(bǔ)=11.1101[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)=10.1000

結(jié)果符號出現(xiàn)10,表示結(jié)果溢出了,而且是下溢。

練習(xí)已知:x=+0.1001y=+1101

求:[x+y]補(bǔ)和[x-y]補(bǔ)的值,并判斷結(jié)果是否有益處,是上溢還是下溢。已知:x=+0.1101y=+0101

求:[x+y]補(bǔ)和[x-y]補(bǔ)的值,并判斷結(jié)果是否有益處,是上溢還是下溢。[x/2]補(bǔ)和[x/4]補(bǔ)的求法已知:X=0.1011,Y=-0.0101,

求:[X/2]補(bǔ),[X/4]補(bǔ),[Y/2]補(bǔ),[Y/4]補(bǔ),解:[X]補(bǔ)

=0.1011[X/2]補(bǔ)

=0.01011[X/4]補(bǔ)

=0.001011[Y]補(bǔ)

=1.1011[Y/2]補(bǔ)

=1.11011[Y/4]補(bǔ)

=1.111011練習(xí)

已知:X=0.1011,Y=-0.0101,

求:[X/2]補(bǔ),[X/4]補(bǔ),

[-X]補(bǔ),[-X/2]補(bǔ),[-X/4]補(bǔ),

[Y/2]補(bǔ),[Y/4]補(bǔ),

[-Y]補(bǔ),[-Y/2]補(bǔ),[-Y/4]補(bǔ)

練習(xí)答案解:[X]補(bǔ)

=0.1011[X/2]補(bǔ)

=0.01011[X/4]補(bǔ)

=0.001011[-X]補(bǔ)

=1.0101[-X/2]補(bǔ)

=1.10101[-X/4]補(bǔ)

=1.110101[Y]補(bǔ)

=1.1011[Y/2]補(bǔ)

=1.11011[Y/4]補(bǔ)

=1.111011[-Y]補(bǔ)

=0.0101[-Y/2]補(bǔ)

=0.00101[-Y/4]補(bǔ)

=0.000101定點(diǎn)數(shù)與浮點(diǎn)數(shù)對R進(jìn)制數(shù)NR=±S*R±E,可以有很多表示方法。如:十進(jìn)制數(shù):265.78可以有:265.78、2657.8*10-1、0.26578*103

、2.6578*102等。1、定點(diǎn)數(shù)表示法一般采用兩種簡單的約定:定點(diǎn)整數(shù)和定點(diǎn)小數(shù)。

(1)定點(diǎn)整數(shù)A帶符號整數(shù):某個N位二進(jìn)制數(shù),其最高位為符號位,其它N-1位為數(shù)值部分:

NfNn-2Nn-3……N2N1N0符號位

數(shù)值部分

小數(shù)點(diǎn)B、無符號整數(shù):所有的數(shù)位都用來表示數(shù)值。

Nn-1Nn-2Nn-3……N3N2N1N0

數(shù)值部分小數(shù)點(diǎn)(2)定點(diǎn)小數(shù)用最高位表示符號,其它N-1位表示數(shù)值部分,將小數(shù)點(diǎn)定在數(shù)值部分的最高位左邊。

NfNn-2Nn-1……N2N1N0符號位

數(shù)值部分

小數(shù)點(diǎn)

補(bǔ)碼一位乘法

有的機(jī)器為方便加減法運(yùn)算,數(shù)據(jù)以補(bǔ)碼形式存放,為此有不少計算機(jī)直接采用補(bǔ)碼相乘。符號位參與運(yùn)算,結(jié)果是乘積的補(bǔ)碼。初始化部分積0計數(shù)器Cd0乘數(shù)末位=0?部分積+[x]補(bǔ)部分積+0右移一位Cd=Cd-1Cd=0?乘數(shù)為正?部分積+[-x]補(bǔ)結(jié)束NYYYNN補(bǔ)碼一位乘法

例:設(shè)X=-0.1101,Y=0.1011,用補(bǔ)碼一位乘法求Z=X*Y解:[x]補(bǔ)=11.0011[y]補(bǔ)=00.1011

部分積乘數(shù)Cd

說明

00.000010114初始值+[x]補(bǔ)

11.001111.001111.100111013右移一位+[x]補(bǔ)

11.001110.110011.011001102右移一位+000.000011.011011.101100111右移一位+[x]補(bǔ)

11.001110.111011.011100010右移一位

乘積高位乘積低位所以[x*y]補(bǔ)=11.01110001X*Y=-0.10001111補(bǔ)碼一位乘法

例:設(shè)X=-0.1101,Y=-0.1011,用補(bǔ)碼一位乘法求Z=X*Y解:[x]補(bǔ)=11.0011[-x]補(bǔ)=00.1101[y]補(bǔ)=11.0101

部分積乘數(shù)Cd

說明

00.000001014初始值+[x]補(bǔ)

11.0011特征位是1,+[x]補(bǔ)

11.001111.100110103右移一位+000.0000特征位是0,+011.100111.110011012右移一位+[x]補(bǔ)

11.0011特征位是1,+[x]補(bǔ)

10.111111.011111101右移一位+000.0000特征位是0,+011.011111.101111110右移一位+[-x]補(bǔ)00.1101乘數(shù)是負(fù)值,+[-x]補(bǔ)

00.1000

乘積高位乘積低位所以[x*y]補(bǔ)=00.10001111X*Y=0.10001111練習(xí)設(shè)①

X=-0.1001,Y=0.1010,

②X=-0.0101,Y=-0.0011

用補(bǔ)碼一位乘法求Z=X*Y定點(diǎn)除法在進(jìn)行定點(diǎn)數(shù)除法時,只考慮

|被除數(shù)|

<|除數(shù)|

的情況,因為在這種情況下,商的小數(shù)點(diǎn)就在最左邊一位有效數(shù)字的前面,操作規(guī)范。否則,稱為溢出。定點(diǎn)補(bǔ)碼一位除法(加減交替法)運(yùn)算規(guī)則若被除數(shù)與除數(shù)同號,用被除數(shù)減去除數(shù);若被除數(shù)與除數(shù)異號,用被除數(shù)加上除數(shù);若所得余數(shù)與除數(shù)同號,商“1”,左移一位,減去除數(shù);若所得余數(shù)與除數(shù)同號,商“0”,左移一位,加上除數(shù);重復(fù)上一步,共做n-1次(n為除數(shù)的有效位數(shù))。

例:設(shè)[X]補(bǔ)=1.0111,[Y]補(bǔ)=0.1101,求[X/Y]補(bǔ)解:[-Y]補(bǔ)=11.0011

被除數(shù)商操作說明

11.011100000初始化

+[Y]補(bǔ)00.110100.010000001

余數(shù)與除數(shù)同號,商“1”00.10000001

左移一位

+[-Y]補(bǔ)11.0011上次商1,減去除數(shù)

11.101100010

余數(shù)與除數(shù)異號,商“0”

11.01100010左移一位

+[Y]補(bǔ)00.1101上次商0,加上除數(shù)

00.001100101

余數(shù)與除數(shù)同號,商“1”00.01100101左移一位

+[-Y]補(bǔ)11.0011上次商1,減去除數(shù)

11.100101010

余數(shù)與除數(shù)異號,商“0”11.001010101

左移一位,商的最低位恒置1所以[X/Y]補(bǔ)=1.0101即X/Y=-0.1011

例:設(shè)[X]補(bǔ)=1.0111,[Y]補(bǔ)=1.0011,求[X/Y]補(bǔ)解:[-Y]補(bǔ)=00.1101

被除數(shù)商操作說明

11.011100000初始化+[-Y]補(bǔ)00.110100.010000000

余數(shù)與除數(shù)異號,商“0”00.10000000

左移一位

+[Y]補(bǔ)11.0011上次商0,加上除數(shù)

11.101100001

余數(shù)與除數(shù)同號,商“1”

11.01100001左移一位+[-Y]補(bǔ)00.1101上次商1,減去除數(shù)

00.001100010

余數(shù)與除數(shù)異號,商“0”00.01100010左移一位

+[Y]補(bǔ)11.0011上次商0,加上除數(shù)

11.100100101

余數(shù)與除數(shù)同號,商“1”11.001001011

左移一位,商的最低位恒置1所以[X/Y]補(bǔ)=0.1011即X/Y=0.1011例:設(shè)X=0.0100,Y=-0.1000,求[X/Y]補(bǔ)解:[X]補(bǔ)=0.0100,[Y]補(bǔ)=11.1000[-Y]補(bǔ)=00.1000

被除數(shù)商操作說明

00.010000000初始化

+

溫馨提示

  • 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

提交評論