第3章 信息編碼與數(shù)據(jù)表示-fjw (1)_第1頁
第3章 信息編碼與數(shù)據(jù)表示-fjw (1)_第2頁
第3章 信息編碼與數(shù)據(jù)表示-fjw (1)_第3頁
第3章 信息編碼與數(shù)據(jù)表示-fjw (1)_第4頁
第3章 信息編碼與數(shù)據(jù)表示-fjw (1)_第5頁
已閱讀5頁,還剩126頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2第三章第三章 信息編碼與數(shù)據(jù)表示信息編碼與數(shù)據(jù)表示 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示3.13.1 浮點(diǎn)機(jī)器數(shù)的表示方法浮點(diǎn)機(jī)器數(shù)的表示方法 數(shù)據(jù)格式數(shù)據(jù)格式3.23.2 定點(diǎn)機(jī)器數(shù)的表示方法定點(diǎn)機(jī)器數(shù)的表示方法3.33.33.43.4 非數(shù)值數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示3.53.5 校驗(yàn)碼校驗(yàn)碼3.63.6 現(xiàn)代計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)表示現(xiàn)代計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)表示3.73.7 本章小結(jié)本章小結(jié)33.1 3.1 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制一一 不同數(shù)制之間的相互轉(zhuǎn)換不同數(shù)制之間的相互轉(zhuǎn)換二二 十進(jìn)制數(shù)的編碼十進(jìn)制數(shù)的編碼三三4一、進(jìn)位計(jì)數(shù)制一、進(jìn)位計(jì)數(shù)制v數(shù)制的兩大要素:數(shù)制的兩大要

2、素: 基數(shù)基數(shù)R R:指在這種進(jìn)位制中允許使用的基本數(shù)碼:指在這種進(jìn)位制中允許使用的基本數(shù)碼個(gè)數(shù)。個(gè)數(shù)。 權(quán)權(quán)W Wi i:權(quán)也稱位權(quán),指某一位權(quán)也稱位權(quán),指某一位i i上的數(shù)碼的權(quán)重值,上的數(shù)碼的權(quán)重值,即即權(quán)與數(shù)碼所處的位置權(quán)與數(shù)碼所處的位置i i有關(guān)有關(guān)。 W Wi i R Ri i。v基數(shù)為基數(shù)為R R的數(shù)制稱為的數(shù)制稱為R R進(jìn)制數(shù)。進(jìn)制數(shù)。vR R進(jìn)制數(shù)的主要特點(diǎn)就是進(jìn)制數(shù)的主要特點(diǎn)就是逢逢R R進(jìn)進(jìn)1 1。5一、進(jìn)位計(jì)數(shù)制一、進(jìn)位計(jì)數(shù)制v 思考:何謂十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制?思考:何謂十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制?進(jìn)制進(jìn)制基數(shù)基數(shù)R R權(quán)權(quán)W Wi i數(shù)碼符號(hào)數(shù)碼符號(hào)

3、十進(jìn)制十進(jìn)制R=10R=101010i i0 09 9二進(jìn)制二進(jìn)制R=2R=22 2i i0 0、1 1八進(jìn)制八進(jìn)制R=8R=88 8i i0 07 7十六進(jìn)制十六進(jìn)制R=16R=161616i i0 09 9、A AF F6一、進(jìn)位計(jì)數(shù)制一、進(jìn)位計(jì)數(shù)制v 假設(shè)任意數(shù)值假設(shè)任意數(shù)值N N用用R R進(jìn)制數(shù)來表示,形式為:進(jìn)制數(shù)來表示,形式為: N=N=(D Dm m1 1D Dm-2m-2D D0 0 D D-1-1D D-2-2 D D-k -k )R R 其中,其中,D Di i為該進(jìn)制的基本符號(hào),為該進(jìn)制的基本符號(hào),D Di i00,R-1R-1,i i = -k= -k, -k+1-k+

4、1, ,m-1m-1;小數(shù)點(diǎn)在;小數(shù)點(diǎn)在D D0 0和和D D-1-1之之間。間。v 則數(shù)值則數(shù)值N N的的實(shí)際值實(shí)際值為:加權(quán)求和為:加權(quán)求和 1)(mkiiiRDN十進(jìn)制十進(jìn)制7一、進(jìn)位計(jì)數(shù)制一、進(jìn)位計(jì)數(shù)制v 例例1 1:(:(2345.4592345.459)10102 210103 3 3 310102 2 4 410101 15 510100 0 4 41010-1-1 5 51010-2-2 9 91010-3-3v 例例2 2:(11011.01111011.011)2 21 12 24 4 1 12 23 3 0 02 22 21 12 21 1 1 12 2-0-0 0 02

5、 2-1 -1 1 12 2-2 -2 1 12 2-3-3= =(27.37527.375)1010v 例例3 3:(123.67123.67)8 81 18 82 2 2 28 81 1 3 38 80 06 68 8- -1 1 7 78 8-2-2= =(83.85937583.859375)10108二、不同數(shù)制之間的相互轉(zhuǎn)換二、不同數(shù)制之間的相互轉(zhuǎn)換 常用的幾種數(shù)制的對(duì)應(yīng)關(guān)系常用的幾種數(shù)制的對(duì)應(yīng)關(guān)系1 1 二、八、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制二、八、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制2 2 十進(jìn)制轉(zhuǎn)換為二、八、十六進(jìn)制十進(jìn)制轉(zhuǎn)換為二、八、十六進(jìn)制3 391 1、常用的幾種數(shù)制的對(duì)應(yīng)關(guān)系、常用的幾種數(shù)制的

6、對(duì)應(yīng)關(guān)系十進(jìn)制十進(jìn)制 二進(jìn)制二進(jìn)制八進(jìn)制八進(jìn)制十六十六進(jìn)制進(jìn)制十進(jìn)制十進(jìn)制 二進(jìn)制二進(jìn)制八進(jìn)制八進(jìn)制十六十六進(jìn)制進(jìn)制0 0000000000 00 08 81000100010108 81 1000100011 11 19 91001100111119 92 2001000102 22 21010101010101212A A3 3001100113 33 31111101110111313B B4 4010001004 44 41212110011001414C C5 5010101015 55 51313110111011515D D6 6011001106 66 614141110111

7、01616E E7 7011101117 77 71515111111111717F F1616100001000020201010102 2、二、八、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制、二、八、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制v 轉(zhuǎn)換方法:加權(quán)求和。轉(zhuǎn)換方法:加權(quán)求和。 例:(例:(5AC.E65AC.E6)1616= 5= 516162 2 101016161 1 121216160 0 141416161 1 6 616162 2 (1452.89843751452.8984375)1010v 十進(jìn)制(十進(jìn)制(DecimalDecimal)、二進(jìn)制()、二進(jìn)制(BinaryBinary)、八進(jìn)制)、八進(jìn)制(Oct

8、alOctal)、十六進(jìn)制()、十六進(jìn)制(HexdecimalHexdecimal)數(shù)分別用)數(shù)分別用D D、B B、Q Q、H H來標(biāo)志。來標(biāo)志。v 例如:(例如:(10111011)2 2(10111011)B B1011B1011b1011B1011b (123.45123.45)1010( 123.45 123.45 )D D 123.45D 123.45D 123.45123.45 (2B.D2B.D)1616= =(2B.D2B.D)H H= =(43.812543.8125)1010=(53.64)=(53.64)Q Q 1)(mkiiiRDN113 3、十進(jìn)制轉(zhuǎn)換為二、八、十六

9、進(jìn)制、十進(jìn)制轉(zhuǎn)換為二、八、十六進(jìn)制v轉(zhuǎn)換方法轉(zhuǎn)換方法:可以分為以下兩種方法:可以分為以下兩種方法 直接轉(zhuǎn)換直接轉(zhuǎn)換:十進(jìn)制:十進(jìn)制 二、八、十六進(jìn)制二、八、十六進(jìn)制 間接轉(zhuǎn)換間接轉(zhuǎn)換:十進(jìn)制:十進(jìn)制 二進(jìn)制二進(jìn)制八、十六進(jìn)制八、十六進(jìn)制v(1 1)十進(jìn)制轉(zhuǎn)化為)十進(jìn)制轉(zhuǎn)化為R R進(jìn)制進(jìn)制v(2 2)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制12(1 1)十進(jìn)制轉(zhuǎn)化為)十進(jìn)制轉(zhuǎn)化為R R進(jìn)制進(jìn)制v轉(zhuǎn)換方法轉(zhuǎn)換方法 整數(shù)部分:整數(shù)部分:除以除以R R取余,取余,先得低位先得低位,直到商為,直到商為0 0。 小數(shù)部分:小數(shù)部分:乘乘R R取整,取整,先得高位先得高位,直到積為,直到積為0 0

10、或者或者達(dá)到精度要求為止。達(dá)到精度要求為止。13(1 1)十進(jìn)制轉(zhuǎn)化為)十進(jìn)制轉(zhuǎn)化為R R進(jìn)制進(jìn)制v小數(shù)部分小數(shù)部分v練習(xí):(練習(xí):(123.75123.75)1010= =( ? )8 8v例:(例:(123.75123.75)1010= =( ? )2 2v整數(shù)部分整數(shù)部分1111011.11173.614小數(shù)部分的精度要求小數(shù)部分的精度要求v 當(dāng)小數(shù)部分當(dāng)小數(shù)部分不能整除為二進(jìn)制不能整除為二進(jìn)制時(shí),則乘以時(shí),則乘以2 2取整的過取整的過程中,程中,積不會(huì)為積不會(huì)為0 0;或者當(dāng)小數(shù)部分轉(zhuǎn)化為;或者當(dāng)小數(shù)部分轉(zhuǎn)化為二進(jìn)制位二進(jìn)制位數(shù)很長(zhǎng)數(shù)很長(zhǎng),這時(shí),這時(shí)由精度來決定二進(jìn)制位數(shù)由精度來決定二

11、進(jìn)制位數(shù)。(114.35114.35)1010( ? )2 2無法整除無法整除(0.68750.6875)1010( ? )2 2位數(shù)太長(zhǎng)位數(shù)太長(zhǎng)v 例:例:(114.35114.35)1010= =( ? )2 2 ,要求精度大于,要求精度大于10%10%。要求要求“”左右兩邊的十進(jìn)制值的差的絕對(duì)值左右兩邊的十進(jìn)制值的差的絕對(duì)值10224 4,所以只需,所以只需取取4 4位二進(jìn)制小數(shù)位二進(jìn)制小數(shù)即可滿足要求。即可滿足要求。(114.35114.35)1010 = =(1110010. 1110010. 01010101) 2 2v 思考:若要求轉(zhuǎn)換精度大于思考:若要求轉(zhuǎn)換精度大于1%1%,則

12、二進(jìn)制小數(shù)取幾,則二進(jìn)制小數(shù)取幾位?位?15(2 2)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制)二進(jìn)制轉(zhuǎn)化為八、十六進(jìn)制v二進(jìn)制二進(jìn)制八進(jìn)制八進(jìn)制 以小數(shù)點(diǎn)為中心以小數(shù)點(diǎn)為中心分別向兩邊分組,分別向兩邊分組,每三位一組每三位一組,寫出對(duì)應(yīng)的八進(jìn)制數(shù)字。(不夠位數(shù)則在兩邊加寫出對(duì)應(yīng)的八進(jìn)制數(shù)字。(不夠位數(shù)則在兩邊加0 0補(bǔ)足補(bǔ)足3 3位位 )v二進(jìn)制二進(jìn)制十六進(jìn)制十六進(jìn)制 以小數(shù)點(diǎn)為中心以小數(shù)點(diǎn)為中心分別向兩邊分組,分別向兩邊分組,每四位一組每四位一組,寫出對(duì)應(yīng)的十六進(jìn)制符號(hào)。(不夠位數(shù)則在兩邊寫出對(duì)應(yīng)的十六進(jìn)制符號(hào)。(不夠位數(shù)則在兩邊加加0 0補(bǔ)足補(bǔ)足4 4位位 )v例:例:(1011111.11)(1011

13、111.11)2 2 =( ? )=( ? )8 8 (1011111.11) (1011111.11)2 2 =( ? )=( ? )1616001 011 111. 1100101 1111. 110016思考思考1 1:八、十六進(jìn)制如何轉(zhuǎn)化為二進(jìn)制?:八、十六進(jìn)制如何轉(zhuǎn)化為二進(jìn)制?v 八進(jìn)制八進(jìn)制二進(jìn)制二進(jìn)制:將每位八進(jìn)制數(shù)展開為:將每位八進(jìn)制數(shù)展開為3 3位二進(jìn)制位二進(jìn)制數(shù),整數(shù)的最高位數(shù),整數(shù)的最高位0 0和小數(shù)的最低位和小數(shù)的最低位0 0可以略去。可以略去。v 十六進(jìn)制十六進(jìn)制二進(jìn)制二進(jìn)制:將每位十六進(jìn)制數(shù)展開為:將每位十六進(jìn)制數(shù)展開為4 4位二位二進(jìn)制數(shù),整數(shù)的最高位進(jìn)制數(shù),整數(shù)

14、的最高位0 0和小數(shù)的最低位和小數(shù)的最低位0 0可以略去。可以略去。v 例:(例:(765.23765.23)8 8= =( ? ? )2 2111111 110110 101101. .010010 011011v例:(例:(765.23)16= ( ? )2111111 01100110 01010101. .00100010 0011001117思考思考2 2:計(jì)算機(jī)中為什么采用二進(jìn)制表示數(shù)據(jù)?:計(jì)算機(jī)中為什么采用二進(jìn)制表示數(shù)據(jù)?v 具有二值狀態(tài)的物理器件容易實(shí)現(xiàn)。具有二值狀態(tài)的物理器件容易實(shí)現(xiàn)。v 二進(jìn)制數(shù)據(jù)的抗干擾性強(qiáng),可靠性高。二進(jìn)制數(shù)據(jù)的抗干擾性強(qiáng),可靠性高。v 二進(jìn)制的運(yùn)算規(guī)則

15、簡(jiǎn)單,硬件實(shí)現(xiàn)容易。二進(jìn)制的運(yùn)算規(guī)則簡(jiǎn)單,硬件實(shí)現(xiàn)容易。v 具有邏輯特性,可代表具有邏輯特性,可代表“真假真假”、“是是非非”。18三、十進(jìn)制數(shù)的編碼三、十進(jìn)制數(shù)的編碼v 提出的問題:如何在計(jì)算機(jī)內(nèi)使用二進(jìn)制來提出的問題:如何在計(jì)算機(jī)內(nèi)使用二進(jìn)制來表示十進(jìn)制數(shù)據(jù)?表示十進(jìn)制數(shù)據(jù)? v 1 1、二十進(jìn)制碼(、二十進(jìn)制碼(BCDBCD碼)碼)v 2 2、十進(jìn)制數(shù)串的表示方法、十進(jìn)制數(shù)串的表示方法 191 1、二十進(jìn)制碼(、二十進(jìn)制碼(BCDBCD碼)碼)v BCDBCD(Binary Coded DecimalBinary Coded Decimal)碼:使用二進(jìn)制來編)碼:使用二進(jìn)制來編碼十進(jìn)制

16、數(shù)字碼十進(jìn)制數(shù)字0 09 9。v 編碼方法:編碼方法:一般使用一般使用4 4位二進(jìn)制編碼來表示位二進(jìn)制編碼來表示1 1位十進(jìn)制位十進(jìn)制數(shù)字,在數(shù)字,在1616個(gè)編碼中選用個(gè)編碼中選用1010個(gè)來表示數(shù)字個(gè)來表示數(shù)字0 09 9。不不同的選擇構(gòu)成不同的同的選擇構(gòu)成不同的BCDBCD碼碼。v 分類:分類: 有權(quán)碼:有權(quán)碼:編碼的每一位都有固定的權(quán)值,加權(quán)求編碼的每一位都有固定的權(quán)值,加權(quán)求和的值即是表示的十進(jìn)制數(shù)字。如和的值即是表示的十進(jìn)制數(shù)字。如84218421碼、碼、24212421碼、碼、52115211碼、碼、43114311碼、碼、84 -2-184 -2-1碼等。碼等。 無權(quán)碼:無權(quán)碼

17、:編碼的每一位并沒有固定的權(quán),主要包編碼的每一位并沒有固定的權(quán),主要包括格雷碼、余括格雷碼、余3 3碼等。碼等。 201 1、二十進(jìn)制碼(、二十進(jìn)制碼(BCDBCD碼)碼)十進(jìn)制數(shù)十進(jìn)制數(shù) 84218421碼碼 24212421碼碼 52115211碼碼 43114311碼碼 84-2-184-2-1碼碼 格雷碼格雷碼 余余3 3碼碼0 0000000000000000000000000000000000000000000000000001100111 1000100010001000100010001000100010111011100010001010001002 200100010001

18、0001000110011001100110110011000110011010101013 3001100110011001101010101010001000101010100100010011001104 4010001000100010001110111100010000100010001100110011101115 5010101011011101110001000011101111011101111101110100010006 6011001101100110010101010101110111010101010101010100110017 70111011111011101

19、11001100110011001001100110001000101010108 8100010001110111011101110111011101000100011001100101110119 91001100111111111111111111111111111111111010001001100110021幾種常見的幾種常見的BCDBCD碼碼 84218421碼:碼:特點(diǎn):特點(diǎn):4 4位二進(jìn)制數(shù)位的權(quán)從高到低依次是位二進(jìn)制數(shù)位的權(quán)從高到低依次是8 8、4 4、2 2、1 1;84218421碼實(shí)際上就是十進(jìn)制數(shù)字碼實(shí)際上就是十進(jìn)制數(shù)字0 09 9的二進(jìn)的二進(jìn)制編碼本身。制編碼本身。

20、是最常用的一種是最常用的一種BCDBCD碼,碼,在沒有特別指出的一般情在沒有特別指出的一般情況下,所提到的況下,所提到的BCDBCD碼通常就是指碼通常就是指84218421碼碼。 余余3 3碼:碼:對(duì)應(yīng)的對(duì)應(yīng)的84218421碼加上碼加上00110011構(gòu)成的。是一種自構(gòu)成的。是一種自補(bǔ)碼,即任何兩個(gè)相加之和等于補(bǔ)碼,即任何兩個(gè)相加之和等于9 9的編碼,互為反的編碼,互為反碼碼 。 22幾種常見的幾種常見的BCDBCD碼碼格雷碼:格雷碼: 特點(diǎn):又叫循環(huán)碼,它的特點(diǎn):又叫循環(huán)碼,它的任何相鄰的兩個(gè)編碼任何相鄰的兩個(gè)編碼(例如(例如2 2和和3 3、7 7和和8 8、9 9和和0 0等)之間等)

21、之間只有一位二進(jìn)只有一位二進(jìn)制位不同制位不同。 優(yōu)點(diǎn):是用它構(gòu)成計(jì)數(shù)器時(shí),在從一個(gè)編碼變到優(yōu)點(diǎn):是用它構(gòu)成計(jì)數(shù)器時(shí),在從一個(gè)編碼變到下一個(gè)編碼時(shí),只有一個(gè)觸發(fā)器翻轉(zhuǎn)即可,波形下一個(gè)編碼時(shí),只有一個(gè)觸發(fā)器翻轉(zhuǎn)即可,波形更完美、更完美、可靠可靠。 格雷碼的格雷碼的編碼方案有許多種編碼方案有許多種。232 2、十進(jìn)制數(shù)串的表示方法、十進(jìn)制數(shù)串的表示方法v字符串形式:字符串形式:用用ASCIIASCII碼來表示十進(jìn)制數(shù)字或符號(hào)碼來表示十進(jìn)制數(shù)字或符號(hào)位,即位,即1 1個(gè)字節(jié)存放個(gè)字節(jié)存放1 1位十進(jìn)制數(shù)字或符號(hào)位。位十進(jìn)制數(shù)字或符號(hào)位。v壓縮的十進(jìn)制數(shù)串形式:壓縮的十進(jìn)制數(shù)串形式:用用BCDBCD碼來

22、表示十進(jìn)制數(shù)碼來表示十進(jìn)制數(shù)字,即字,即1 1個(gè)字節(jié)存放個(gè)字節(jié)存放2 2個(gè)十進(jìn)制的數(shù)字;符號(hào)位放在個(gè)十進(jìn)制的數(shù)字;符號(hào)位放在最低位數(shù)字位之后,一般用最低位數(shù)字位之后,一般用C C(1212)表示正號(hào),用)表示正號(hào),用D D(1313)表示負(fù)號(hào)。)表示負(fù)號(hào)。例如例如 258258被表示成被表示成258CH258CH,占用兩個(gè)字節(jié),占用兩個(gè)字節(jié),- -3434被表示為被表示為034DH034DH,也占用兩個(gè)字節(jié)。,也占用兩個(gè)字節(jié)。v共同點(diǎn):必須給出它在主存中的首地址和位長(zhǎng)。共同點(diǎn):必須給出它在主存中的首地址和位長(zhǎng)。242 2、十進(jìn)制數(shù)串的表示方法、十進(jìn)制數(shù)串的表示方法v采用十進(jìn)制表示數(shù)據(jù)的優(yōu)點(diǎn)是采

23、用十進(jìn)制表示數(shù)據(jù)的優(yōu)點(diǎn)是:對(duì)于需要大量地進(jìn)行輸入輸出數(shù)據(jù)而運(yùn)算簡(jiǎn)單對(duì)于需要大量地進(jìn)行輸入輸出數(shù)據(jù)而運(yùn)算簡(jiǎn)單的場(chǎng)合,大大的場(chǎng)合,大大減少了二減少了二- -十進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換,提高了機(jī),提高了機(jī)器的運(yùn)行效率;器的運(yùn)行效率;十進(jìn)制數(shù)串的十進(jìn)制數(shù)串的位長(zhǎng)可變位長(zhǎng)可變,許多機(jī)器中規(guī)定該長(zhǎng),許多機(jī)器中規(guī)定該長(zhǎng)度從度從0 0到到3131,有的甚至更長(zhǎng)。不受定點(diǎn)數(shù)和浮點(diǎn),有的甚至更長(zhǎng)。不受定點(diǎn)數(shù)和浮點(diǎn)數(shù)統(tǒng)一格式的約束,從而提高了數(shù)據(jù)的表示范數(shù)統(tǒng)一格式的約束,從而提高了數(shù)據(jù)的表示范圍和運(yùn)算精度。圍和運(yùn)算精度。253.2 3.2 數(shù)據(jù)格式數(shù)據(jù)格式 機(jī)器數(shù)機(jī)器數(shù)一一 小數(shù)點(diǎn)的表示方法小數(shù)點(diǎn)的表示方法二二26一、機(jī)

24、器數(shù)一、機(jī)器數(shù)v 機(jī)器數(shù):機(jī)器數(shù):數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的表示形式。數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的表示形式。v 特點(diǎn):特點(diǎn): 表示的表示的數(shù)值范圍受數(shù)值范圍受計(jì)算機(jī)字長(zhǎng)的計(jì)算機(jī)字長(zhǎng)的限制限制; 機(jī)器數(shù)的機(jī)器數(shù)的符號(hào)位符號(hào)位必須被數(shù)值化為二進(jìn)制必須被數(shù)值化為二進(jìn)制0 0和和1 1; 機(jī)器數(shù)的機(jī)器數(shù)的小數(shù)點(diǎn)小數(shù)點(diǎn)是用是用隱含規(guī)定隱含規(guī)定的方式來表達(dá)的。的方式來表達(dá)的。 v 真值:真值:機(jī)器數(shù)所真正表示的數(shù)值,一般使用數(shù)值機(jī)器數(shù)所真正表示的數(shù)值,一般使用數(shù)值(二進(jìn)制或十進(jìn)制)前冠以(二進(jìn)制或十進(jìn)制)前冠以“+”+”、“”符號(hào)這種符號(hào)這種方法來書寫。方法來書寫。v 機(jī)器數(shù)的編碼方法機(jī)器數(shù)的編碼方法:原碼、反碼、補(bǔ)碼

25、、移碼原碼、反碼、補(bǔ)碼、移碼。27一、機(jī)器數(shù)一、機(jī)器數(shù)v 計(jì)算機(jī)中參與運(yùn)算的數(shù)值數(shù)據(jù)有兩種:計(jì)算機(jī)中參與運(yùn)算的數(shù)值數(shù)據(jù)有兩種: 無符號(hào)數(shù)據(jù)無符號(hào)數(shù)據(jù)(Unsigned Unsigned ):所有的二進(jìn)制數(shù)據(jù)位數(shù)均用來):所有的二進(jìn)制數(shù)據(jù)位數(shù)均用來表示數(shù)值本身,沒有正負(fù)之分。表示數(shù)值本身,沒有正負(fù)之分。 帶符號(hào)數(shù)據(jù)帶符號(hào)數(shù)據(jù)(SignedSigned):則其二進(jìn)制數(shù)據(jù)位,包括符號(hào)位和):則其二進(jìn)制數(shù)據(jù)位,包括符號(hào)位和數(shù)值位。數(shù)值位。v 思考:計(jì)算機(jī)硬件如何區(qū)分無符號(hào)數(shù)據(jù)和帶符號(hào)數(shù)據(jù)思考:計(jì)算機(jī)硬件如何區(qū)分無符號(hào)數(shù)據(jù)和帶符號(hào)數(shù)據(jù)呢?呢?v 例:例: Intel X86Intel X86系列系列CP

26、UCPUv 假設(shè)假設(shè)AXAX(11111111111111111111111111111111)2 2,BXBX(00000000000000010000000000000001)2 2,那么執(zhí)行下面兩段程序時(shí),那么執(zhí)行下面兩段程序時(shí),計(jì)算機(jī)硬件將把計(jì)算機(jī)硬件將把AXAX和和BXBX中的數(shù)據(jù)看成是不同的數(shù)據(jù)。中的數(shù)據(jù)看成是不同的數(shù)據(jù)。28一、機(jī)器數(shù)一、機(jī)器數(shù)v 程序程序A A: AX=0FFFFHAX=0FFFFH,BX=0001HBX=0001H CMPCMPAX,BXAX,BX; ;結(jié)果影響標(biāo)志位結(jié)果影響標(biāo)志位 JLJLL1L1; ;有符號(hào)數(shù)小于轉(zhuǎn)移有符號(hào)數(shù)小于轉(zhuǎn)移 執(zhí)行執(zhí)行JLJL指令時(shí)

27、,指令時(shí),操作數(shù)操作數(shù)AXAX和和BXBX被當(dāng)作有符號(hào)數(shù)據(jù)被當(dāng)作有符號(hào)數(shù)據(jù),AXAX(1 1)1010,BXBX(1 1)1010,所以,所以執(zhí)行結(jié)果是轉(zhuǎn)移到執(zhí)行結(jié)果是轉(zhuǎn)移到L1L1標(biāo)號(hào)標(biāo)號(hào)處執(zhí)處執(zhí)行。行。v 程序程序B B: AX=0FFFFHAX=0FFFFH,BX=0001HBX=0001H CMPCMPAX,BXAX,BX JBJBL1L1; ;無符號(hào)數(shù)小于轉(zhuǎn)移無符號(hào)數(shù)小于轉(zhuǎn)移 執(zhí)行執(zhí)行JBJB指令時(shí),指令時(shí),操作數(shù)操作數(shù)AXAX和和BXBX被當(dāng)作無符號(hào)數(shù)據(jù)被當(dāng)作無符號(hào)數(shù)據(jù),AXAX(6553565535)1010,BXBX1 1,所以,所以執(zhí)行結(jié)果是不轉(zhuǎn)移執(zhí)行結(jié)果是不轉(zhuǎn)移,順序執(zhí)行。

28、,順序執(zhí)行。計(jì)算機(jī)硬件不區(qū)分無符號(hào)數(shù)據(jù)和帶符號(hào)數(shù)據(jù),由程序(指令)來區(qū)分。計(jì)算機(jī)硬件不區(qū)分無符號(hào)數(shù)據(jù)和帶符號(hào)數(shù)據(jù),由程序(指令)來區(qū)分。29二、二、小數(shù)點(diǎn)的表示方法小數(shù)點(diǎn)的表示方法v 在機(jī)器數(shù)中,小數(shù)點(diǎn)及其位置是在機(jī)器數(shù)中,小數(shù)點(diǎn)及其位置是隱含規(guī)定隱含規(guī)定的;有的;有兩種兩種隱含方式隱含方式: 定點(diǎn)機(jī)器數(shù)定點(diǎn)機(jī)器數(shù):小數(shù)點(diǎn)的位置是固定不變的小數(shù)點(diǎn)的位置是固定不變的 浮點(diǎn)機(jī)器數(shù)浮點(diǎn)機(jī)器數(shù):小數(shù)點(diǎn)的位置是浮動(dòng)的小數(shù)點(diǎn)的位置是浮動(dòng)的v 定點(diǎn)機(jī)器數(shù)分為定點(diǎn)機(jī)器數(shù)分為定點(diǎn)小數(shù)、定點(diǎn)整數(shù)定點(diǎn)小數(shù)、定點(diǎn)整數(shù)兩種。兩種。 v 浮點(diǎn)機(jī)器數(shù)中小數(shù)點(diǎn)的位置由階碼規(guī)定,因此是浮動(dòng)浮點(diǎn)機(jī)器數(shù)中小數(shù)點(diǎn)的位置由階碼規(guī)定,因

29、此是浮動(dòng)的。的。30二、二、小數(shù)點(diǎn)的表示方法小數(shù)點(diǎn)的表示方法313.3 3.3 定點(diǎn)機(jī)器數(shù)的表示方法定點(diǎn)機(jī)器數(shù)的表示方法v 定點(diǎn)機(jī)器數(shù)的小數(shù)點(diǎn)的位置是固定不變的,可以定點(diǎn)機(jī)器數(shù)的小數(shù)點(diǎn)的位置是固定不變的,可以分為兩種:分為兩種: 定點(diǎn)小數(shù):用于表示純小數(shù),定點(diǎn)小數(shù):用于表示純小數(shù),小數(shù)點(diǎn)小數(shù)點(diǎn)隱含隱含固定在最高數(shù)固定在最高數(shù)據(jù)位的左邊,據(jù)位的左邊,整數(shù)位則用于表示符號(hào)位整數(shù)位則用于表示符號(hào)位。 定點(diǎn)整數(shù):用于表示純整數(shù),小數(shù)點(diǎn)位置隱含固定在最定點(diǎn)整數(shù):用于表示純整數(shù),小數(shù)點(diǎn)位置隱含固定在最低位之后,低位之后,最高位為符號(hào)位最高位為符號(hào)位。v 一、原碼表示法一、原碼表示法v 二、補(bǔ)碼表示法二、補(bǔ)

30、碼表示法v 三、反碼表示法三、反碼表示法v 四、移碼表示法四、移碼表示法v 五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換 對(duì)比對(duì)比 32一、原碼表示法一、原碼表示法v 1 1、表示方法:、表示方法:最高位為符號(hào)位,其他位為數(shù)值位。最高位為符號(hào)位,其他位為數(shù)值位。 符號(hào)位:符號(hào)位:0 0正數(shù),正數(shù),1 1負(fù)數(shù)。負(fù)數(shù)。 數(shù)值位:與絕對(duì)值相同。數(shù)值位:與絕對(duì)值相同。v 對(duì)于定點(diǎn)整數(shù):對(duì)于定點(diǎn)整數(shù): 若若X=+XX=+X1 1X X2 2X Xn n,則,則XX原原= 0,X= 0,X1 1X X2 2X Xn n ; 若若X=-XX=-X1 1X X2 2X Xn n,則則XX原原= 1,X= 1,X1 1

31、X X2 2X Xn n 。v 對(duì)于定點(diǎn)小數(shù):對(duì)于定點(diǎn)小數(shù): 若若X=+0.XX=+0.X1 1X X2 2X Xn n ,則,則XX原原= 0.X= 0.X1 1X X2 2X Xn n ; 若若X=-0.XX=-0.X1 1X X2 2X Xn n ,則,則XX原原= 1.X= 1.X1 1X X2 2X Xn n 。“, ,”和和“. .”只只用于助記,在計(jì)用于助記,在計(jì)算機(jī)中并無專用算機(jī)中并無專用部件來表示部件來表示33一、原碼表示法一、原碼表示法v 例例1 1:X=1011X=1011,Y Y10111011,則:,則: XX原原 ;YY原原 ;v 例例2 2:X=0.1101X=0

32、.1101,Y Y- 0.1101- 0.1101,則:,則: XX原原 ;YY原原 ;v 例例3 3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位原碼機(jī)器位原碼機(jī)器數(shù)。數(shù)。XX原原 ;YY原原 ;v 例例4 4:00原原?34一、原碼表示法一、原碼表示法v 2 2、 0 0的表示:的表示:0 0 的原碼表示有兩種形式的原碼表示有兩種形式,即分別按照正,即分別按照正數(shù)和負(fù)數(shù)表示。數(shù)和負(fù)數(shù)表示。 +0+0原原 00000 0 -0-0原原 10100 0v 3 3、表示范圍:、表示范圍:對(duì)于對(duì)于n n1 1位原碼機(jī)器數(shù)位原碼機(jī)器數(shù)X X

33、,它所能表示的數(shù),它所能表示的數(shù)據(jù)范圍為:據(jù)范圍為: 定點(diǎn)整數(shù):(定點(diǎn)整數(shù):(2 2n n1 1)X 2X 2n n1 1 定點(diǎn)小數(shù):(定點(diǎn)小數(shù):(1 12 2n n)X 1X 12 2n n包括包括1 1位符號(hào)位,位符號(hào)位,n n位數(shù)值位位數(shù)值位思考:思考:16位定點(diǎn)整數(shù)的原碼表示范圍?位定點(diǎn)整數(shù)的原碼表示范圍?35一、原碼表示法一、原碼表示法v 4 4、數(shù)學(xué)表示:、數(shù)學(xué)表示:編碼與真值之間的數(shù)學(xué)關(guān)系編碼與真值之間的數(shù)學(xué)關(guān)系 0XX20XXXn原原 0XX10XXX原原定點(diǎn)定點(diǎn)整數(shù)整數(shù)定點(diǎn)定點(diǎn)小數(shù)小數(shù)36一、原碼表示法一、原碼表示法v 4 4位原碼機(jī)器數(shù)位原碼機(jī)器數(shù)(整數(shù))對(duì)應(yīng)的真(整數(shù))對(duì)

34、應(yīng)的真值值機(jī)器數(shù)機(jī)器數(shù)原碼對(duì)應(yīng)真值原碼對(duì)應(yīng)真值000000001+10010+20011+30100+40101+50110+60111+71000-01001-11010-21011-31100-41101-51110-61111-737一、原碼表示法一、原碼表示法v 4 4位原碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示位原碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示 原碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)原碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)38二、補(bǔ)碼表示法二、補(bǔ)碼表示法v 1 1、表示方法:、表示方法:最高位為符號(hào)位,其他位為數(shù)值位。最高位為符號(hào)位,其他位為數(shù)值位。 符號(hào)位:符號(hào)位:0 0正數(shù),正數(shù),1 1負(fù)數(shù)。負(fù)數(shù)。 數(shù)值位:正數(shù)時(shí)

35、,與絕對(duì)值相同;數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;負(fù)數(shù)時(shí),為絕負(fù)數(shù)時(shí),為絕對(duì)值取反后,末位加對(duì)值取反后,末位加1 1。v 對(duì)于定點(diǎn)整數(shù):對(duì)于定點(diǎn)整數(shù): 若若X=+XX=+X1 1X X2 2X Xn n,則,則XX補(bǔ)補(bǔ)= 0,X= 0,X1 1X X2 2X Xn n ; 若若X=-XX=-X1 1X X2 2X Xn n,則則XX補(bǔ)補(bǔ)= 1,X= 1,X1 1X X2 2X Xn n 1 1。v 對(duì)于定點(diǎn)小數(shù):對(duì)于定點(diǎn)小數(shù): 若若X=+0. XX=+0. X1 1X X2 2X Xn n ,則,則XX補(bǔ)補(bǔ)= 0.X= 0.X1 1X X2 2X Xn n ; 若若X=-0. XX=-0. X1

36、1X X2 2X Xn n ,則,則XX補(bǔ)補(bǔ)= 1.X= 1.X1 1X X2 2X Xn n 0.000.001 1。 39二、補(bǔ)碼表示法二、補(bǔ)碼表示法v 例例1 1:X=1011X=1011,Y Y10111011,則:,則:XX補(bǔ)補(bǔ) ;YY補(bǔ)補(bǔ) ;v 例例2 2:X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,則:,則:XX補(bǔ)補(bǔ) ;YY補(bǔ)補(bǔ) ;v 例例3 3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位補(bǔ)碼機(jī)位補(bǔ)碼機(jī)器數(shù)。器數(shù)。XX補(bǔ)補(bǔ) ;YY補(bǔ)補(bǔ) ;v 例例4 4:00補(bǔ)補(bǔ)?40二、補(bǔ)碼表示法二、補(bǔ)碼

37、表示法v 2 2、 0 0的表示:的表示:0 0 的補(bǔ)碼表示形式是唯一的的補(bǔ)碼表示形式是唯一的,即分,即分別按照正數(shù)和負(fù)數(shù)表示均一致,為全零。別按照正數(shù)和負(fù)數(shù)表示均一致,為全零。 +0+0補(bǔ)補(bǔ) 00000 0 -0-0補(bǔ)補(bǔ) 00000 0v 3 3、表示范圍:、表示范圍:對(duì)于對(duì)于n n1 1位補(bǔ)碼機(jī)器數(shù)位補(bǔ)碼機(jī)器數(shù)X X,它所能,它所能表示的數(shù)據(jù)范圍為:表示的數(shù)據(jù)范圍為: 定點(diǎn)整數(shù):定點(diǎn)整數(shù):2 2n nX 2X 2n n1 1 定點(diǎn)小數(shù):定點(diǎn)小數(shù):1X 11X 12 2n nv 計(jì)算機(jī)中的整型數(shù)據(jù)(計(jì)算機(jī)中的整型數(shù)據(jù)(intint)均用補(bǔ)碼來表示。)均用補(bǔ)碼來表示。包括包括1 1位符號(hào)位,位

38、符號(hào)位,n n位數(shù)值位位數(shù)值位41思考題:思考題:v3232位微機(jī)中,位微機(jī)中,C C程序定義了兩個(gè)變量程序定義了兩個(gè)變量x x,y y:vIntInt x; x; vUnsigned intUnsigned int y; y;v問:?jiǎn)枺簒 x,y y的數(shù)據(jù)取值范圍?的數(shù)據(jù)取值范圍?vx x是是3232位補(bǔ)碼表示的整數(shù)位補(bǔ)碼表示的整數(shù):231X 2311vy y是是3232位無符號(hào)整數(shù)位無符號(hào)整數(shù): 0X 232142二、補(bǔ)碼表示法二、補(bǔ)碼表示法 0XX20XXX1n補(bǔ)補(bǔ) 0XX20XXX補(bǔ)補(bǔ)定點(diǎn)定點(diǎn)整數(shù)整數(shù)定點(diǎn)定點(diǎn)小數(shù)小數(shù)【X X】補(bǔ)補(bǔ)= 2= 2n+1n+1+X +X (mod 2mod

39、2n+1n+1)【X X】補(bǔ)補(bǔ)= 2+X = 2+X (mod 2mod 2)v4 4、數(shù)學(xué)表示:、數(shù)學(xué)表示:模模2補(bǔ)碼補(bǔ)碼43二、補(bǔ)碼表示法二、補(bǔ)碼表示法v 4 4位補(bǔ)碼機(jī)器數(shù)位補(bǔ)碼機(jī)器數(shù)(整數(shù))對(duì)應(yīng)的(整數(shù))對(duì)應(yīng)的真值真值機(jī)器數(shù)機(jī)器數(shù)原碼真值原碼真值補(bǔ)碼真值補(bǔ)碼真值0000000001+1+10010+2+20011+3+30100+4+40101+5+50110+6+60111+7+71000-0-81001-1-71010-2-61011-3-51100-4-41101-5-31110-6-21111-7-144二、補(bǔ)碼表示法二、補(bǔ)碼表示法v 4 4位補(bǔ)碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示位

40、補(bǔ)碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示 補(bǔ)碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)補(bǔ)碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)數(shù)值00-87157編碼45v 對(duì)于定點(diǎn)整數(shù):對(duì)于定點(diǎn)整數(shù): 若若X=+XX=+X1 1X X2 2X Xn n,則,則XX反反 = 0,X= 0,X1 1X X2 2X Xn n ; 若若X=- XX=- X1 1X X2 2X Xn n ,則,則XX反反= 1,X= 1,X1 1X X2 2X Xn n 。v 對(duì)于定點(diǎn)小數(shù):對(duì)于定點(diǎn)小數(shù): 若若X=+0.XX=+0.X1 1X X2 2X Xn n ,則,則XX反反= 0.X= 0.X1 1X X2 2X Xn n ; 若若X=-0.XX=-0.X1 1X

41、 X2 2X Xn n ,則,則XX反反= 1.X= 1.X1 1 X X2 2X Xn n 三、反碼表示法三、反碼表示法v 1 1、表示方法、表示方法:最高位為符號(hào)位,其他位為數(shù)值位。:最高位為符號(hào)位,其他位為數(shù)值位。 符號(hào)位:符號(hào)位:0 0正數(shù),正數(shù),1 1負(fù)數(shù)。負(fù)數(shù)。 數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;負(fù)數(shù)時(shí),為絕負(fù)數(shù)時(shí),為絕對(duì)值取反對(duì)值取反。46三、反碼表示法三、反碼表示法v 例例1 1:X=1011X=1011,Y Y10111011,則:,則:XX反反 ;YY反反 ;v 例例2 2:X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,

42、則:,則:XX反反 ;YY反反 ;v 例例3 3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位反碼機(jī)位反碼機(jī)器數(shù)。器數(shù)。XX反反 ;YY反反 ;v 例例4 4:00反反?47v 2 2、 0 0的表示:的表示:0 0 的反碼表示有兩種形式的反碼表示有兩種形式,即分別按即分別按照正數(shù)和負(fù)數(shù)表示。照正數(shù)和負(fù)數(shù)表示。 +0+0反反 00000 0 -0-0反反 11111 1v 3 3、表示范圍:、表示范圍:對(duì)于對(duì)于n n1 1位反碼機(jī)器數(shù)位反碼機(jī)器數(shù)X X,它所能表,它所能表示的數(shù)據(jù)范圍為:示的數(shù)據(jù)范圍為: 定點(diǎn)整數(shù):(定點(diǎn)整數(shù):(2 2

43、n n1 1)X 2X 2n n1 1 定點(diǎn)小數(shù):(定點(diǎn)小數(shù):(1 12 2n n)X 1X 12 2n n包括包括1 1位符號(hào)位,位符號(hào)位,n n位數(shù)值位位數(shù)值位三、反碼表示法三、反碼表示法思考:思考:16位定點(diǎn)整數(shù)的反碼表示范圍?位定點(diǎn)整數(shù)的反碼表示范圍?48三、反碼表示法三、反碼表示法v4 4、數(shù)學(xué)表示:、數(shù)學(xué)表示: 0XX120XXX1n反反 0XX220XXXn反反定點(diǎn)定點(diǎn)整數(shù)整數(shù)定點(diǎn)定點(diǎn)小數(shù)小數(shù)49三、反碼表示法三、反碼表示法v 4 4位反碼機(jī)器數(shù)位反碼機(jī)器數(shù)(整數(shù))對(duì)應(yīng)的(整數(shù))對(duì)應(yīng)的真值真值機(jī)器數(shù)機(jī)器數(shù)原碼真值原碼真值補(bǔ)碼真值補(bǔ)碼真值反碼真值反碼真值00000000001+1+

44、1+10010+2+2+20011+3+3+30100+4+4+40101+5+5+50110+6+6+60111+7+7+71000-0-8-71001-1-7-61010-2-6-51011-3-5-41100-4-4-31101-5-3-21110-6-2-11111-7-1-050三、反碼表示法三、反碼表示法v 4 4位反碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示位反碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示 反碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)反碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)數(shù)值-7157700編碼51四、移碼表示法四、移碼表示法v 1 1、表示方法:、表示方法:最高位為符號(hào)位,其他位為數(shù)值位。最高位為符號(hào)位,其他位為數(shù)值

45、位。 符號(hào)位:符號(hào)位: 數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;負(fù)數(shù)時(shí),為絕數(shù)值位:正數(shù)時(shí),與絕對(duì)值相同;負(fù)數(shù)時(shí),為絕對(duì)值取反后,末位加對(duì)值取反后,末位加1 1。移碼表示:移碼表示:即為補(bǔ)碼的即為補(bǔ)碼的符號(hào)位取反符號(hào)位取反v 對(duì)于定點(diǎn)整數(shù):對(duì)于定點(diǎn)整數(shù): 若若X=+XX=+X1 1X X2 2X Xn n,則,則XX移移= = 1 1,X,X1 1X X2 2X Xn n ; 若若X=- XX=- X1 1X X2 2X Xn n ,則,則XX移移= = 0 0,X,X1 1 X X2 2X Xn n 1 1。52四、移碼表示法四、移碼表示法v 例例1 1:X=1011X=1011,Y Y1011101

46、1,則:,則: XX移移 ;YY移移 ;v 例例2 2:X=0.1101X=0.1101,Y Y- 0.1101- 0.1101,則:,則: XX移移 ;YY移移 ;v 例例3 3: X=1011X=1011, Y Y- 0.1101- 0.1101,求,求X X和和Y Y的的8 8位移碼機(jī)位移碼機(jī)器數(shù)。器數(shù)。 XX移移 ;YY移移 ;v 例例4 4:00移移?53四、移碼表示法四、移碼表示法v2 2、 0 0的表示:的表示:0 0 的移碼表示形式是唯一的移碼表示形式是唯一的的,即分別按照正數(shù)和負(fù)數(shù)表示均一致。即分別按照正數(shù)和負(fù)數(shù)表示均一致。 +0+0移移 10100 0 -0-0移移 101

47、00 0v3 3、表示范圍:、表示范圍:對(duì)于對(duì)于n n1 1位移碼機(jī)器數(shù)位移碼機(jī)器數(shù)X X,它所能表示的數(shù)據(jù)范圍為:它所能表示的數(shù)據(jù)范圍為: 定點(diǎn)整數(shù):定點(diǎn)整數(shù):2 2n nX 2X 2n n1 1v移碼通常作為浮點(diǎn)數(shù)的階碼。移碼通常作為浮點(diǎn)數(shù)的階碼。包括包括1 1位符號(hào)位,位符號(hào)位,n n位數(shù)值位位數(shù)值位思考:思考:16位定點(diǎn)整數(shù)的移碼表示范圍?位定點(diǎn)整數(shù)的移碼表示范圍?54四、移碼表示法四、移碼表示法v4 4、數(shù)學(xué)表示:、數(shù)學(xué)表示:定點(diǎn)定點(diǎn)整數(shù)整數(shù)X2Xn 移移v又稱增碼又稱增碼55四、移碼表示法四、移碼表示法v 4 4位移碼位移碼機(jī)器數(shù)機(jī)器數(shù)(整數(shù))(整數(shù))對(duì)應(yīng)的真對(duì)應(yīng)的真值值機(jī)器數(shù)機(jī)器

48、數(shù)原碼真值原碼真值補(bǔ)碼真值補(bǔ)碼真值反碼真值反碼真值移碼真值移碼真值0000000-80001+1+1+1-70010+2+2+2-60011+3+3+3-50100+4+4+4-40101+5+5+5-30110+6+6+6-20111+7+7+7-11000-0-8-701001-1-7-6+11010-2-6-5+21011-3-5-4+31100-4-4-3+41101-5-3-2+51110-6-2-1+61111-7-1-0+756四、移碼表示法四、移碼表示法v 4 4位移碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示位移碼機(jī)器數(shù)(整數(shù))在數(shù)軸上的表示 移碼機(jī)器數(shù)編碼與真值的對(duì)應(yīng)移碼機(jī)器數(shù)編碼與真值

49、的對(duì)應(yīng)數(shù)值157-800編碼57四種定點(diǎn)機(jī)器數(shù)的表示四種定點(diǎn)機(jī)器數(shù)的表示真值真值X=X=+ + X X1 1X X2 2X Xn nX=X=- - X X1 1X X2 2X Xn n原碼原碼XX原原= = 0 0 X X1 1X X2 2X Xn nXX原原= = 1 1 X X1 1X X2 2X Xn n反碼反碼XX反反= = 0 0 X X1 1X X2 2X Xn nXX反反= = 1 1 X X1 1X X2 2X Xn n補(bǔ)碼補(bǔ)碼XX補(bǔ)補(bǔ)= = 0 0 X X1 1X X2 2X Xn nXX補(bǔ)補(bǔ)= = 1 1 X X1 1X X2 2X Xn n+1 +1 移碼移碼XX移移=

50、= 1 1 X X1 1X X2 2X Xn nXX移移= = 0 0 X X1 1X X2 2X Xn n+1 +1 58四種定點(diǎn)機(jī)器數(shù)四種定點(diǎn)機(jī)器數(shù),0,0的表示的表示真值真值X=X=+ + 0 0X=X=- - 0 0原碼原碼XX原原= 0 00= 0 000 0XX原原= = 1 1 00000 0反碼反碼XX反反= 0 00= 0 000 0XX反反= = 1 1 11111 1補(bǔ)碼補(bǔ)碼XX補(bǔ)補(bǔ)= 0 00= 0 000 0移碼移碼XX移移= 1 00= 1 000 059四種定點(diǎn)機(jī)器數(shù)的表示范圍(四種定點(diǎn)機(jī)器數(shù)的表示范圍(n+1n+1位位機(jī)器數(shù))機(jī)器數(shù))定點(diǎn)整數(shù)定點(diǎn)整數(shù)定點(diǎn)小數(shù)定點(diǎn)

51、小數(shù)原碼原碼- -(2 2n n -1-1)X 2X 2n n -1-1- -(1-21-2-n-n)X1-2X1-2-n-n反碼反碼- -(2 2n n -1-1)X 2X 2n n -1-1- -(1-21-2-n-n)X1-2X1-2-n-n補(bǔ)碼補(bǔ)碼-2-2n nX 2X 2n n -1-1-1X 1-2-1X 1-2n n移碼移碼-2-2n nX 2X 2n n -1-1-1X 1-2-1X 1-2n n60五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換 十進(jìn)制真值十進(jìn)制真值二進(jìn)制真值二進(jìn)制真值十六進(jìn)制真值十六進(jìn)制真值八進(jìn)制真值八進(jìn)制真值原碼原碼補(bǔ)碼補(bǔ)碼移碼移碼反碼反碼不同進(jìn)制真值的轉(zhuǎn)換不同進(jìn)制

52、真值的轉(zhuǎn)換機(jī)器碼的轉(zhuǎn)換關(guān)系機(jī)器碼的轉(zhuǎn)換關(guān)系61五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換五、定點(diǎn)機(jī)器數(shù)轉(zhuǎn)換v機(jī)器數(shù)轉(zhuǎn)換為真值機(jī)器數(shù)轉(zhuǎn)換為真值 機(jī)器數(shù)的符號(hào)位機(jī)器數(shù)的符號(hào)位真值的正負(fù)真值的正負(fù) 機(jī)器數(shù)的定義和表示機(jī)器數(shù)的定義和表示 真值的絕對(duì)值真值的絕對(duì)值 v機(jī)器數(shù)之間的相互轉(zhuǎn)換機(jī)器數(shù)之間的相互轉(zhuǎn)換 最簡(jiǎn)單的方法最簡(jiǎn)單的方法:先求出它們的真值,然后再轉(zhuǎn)換:先求出它們的真值,然后再轉(zhuǎn)換為另一種表示方法。為另一種表示方法。62課堂練習(xí)課堂練習(xí)v 1 1、已知、已知XX補(bǔ)補(bǔ)1.10101.1010,求,求X X ? XX原原 ? XX反反 ? XX移移 ? v 2 2、求以下各機(jī)器數(shù)的十進(jìn)制真值:、求以下各機(jī)器數(shù)的十進(jìn)制真值

53、:0.01101.01101.10010.101063X原原 = 1,0000000 ,則,則X = ? X補(bǔ)補(bǔ) = 1,0000000 ,則,則X = ? X反反 = 1,0000000 ,則,則X = ? X移移 = 1,0000000 ,則,則X = ? X原原 = 1,1101 ,則,則X = ? X補(bǔ)補(bǔ) = 1,1101 ,則,則X = ? X反反 = 1,1101 ,則,則X = ? X移移 = 1,1101 ,則,則X = ? X原原 = 0,1000 ,則,則X = ? X補(bǔ)補(bǔ) = 1,1000 ,則,則X = ? X反反 = 0,1000 ,則,則X = ? X移移 =0,1

54、000 ,則,則X = ? X = - 0 X =(- 128)10X = (-127)10 X = 0 X = - 1101B X = - 0011B X = - 0010 BX = +1101BX = +1000 BX = - 1000 BX = +1000BX = -1000 B-(1111111 + 1)2-(1111111)2課堂練習(xí)課堂練習(xí)643.4 3.4 浮點(diǎn)機(jī)器數(shù)的表示方法浮點(diǎn)機(jī)器數(shù)的表示方法 浮點(diǎn)機(jī)器數(shù)的格式浮點(diǎn)機(jī)器數(shù)的格式 浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示 浮點(diǎn)數(shù)的表示范圍浮點(diǎn)數(shù)的表示范圍 一二三 浮點(diǎn)數(shù)與定點(diǎn)數(shù)比較浮點(diǎn)數(shù)與定點(diǎn)數(shù)比較四四65一、浮點(diǎn)機(jī)器數(shù)的格

55、式一、浮點(diǎn)機(jī)器數(shù)的格式v 浮點(diǎn)機(jī)器數(shù)用于表示實(shí)數(shù),其浮點(diǎn)機(jī)器數(shù)用于表示實(shí)數(shù),其小數(shù)點(diǎn)的位置由其小數(shù)點(diǎn)的位置由其中的階碼規(guī)定中的階碼規(guī)定,因此是浮動(dòng)的。,因此是浮動(dòng)的。v 浮點(diǎn)數(shù)浮點(diǎn)數(shù)N N的構(gòu)成:的構(gòu)成:ERMN v 浮點(diǎn)數(shù)的格式:浮點(diǎn)數(shù)的格式:階碼的底是隱含規(guī)定的。階碼的底是隱含規(guī)定的。小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置 在機(jī)器中,為了方便浮點(diǎn)數(shù)大小的比較,通常將在機(jī)器中,為了方便浮點(diǎn)數(shù)大小的比較,通常將數(shù)符放置在浮點(diǎn)數(shù)的首位數(shù)符放置在浮點(diǎn)數(shù)的首位。 66一、浮點(diǎn)機(jī)器數(shù)的格式一、浮點(diǎn)機(jī)器數(shù)的格式v 尾數(shù)尾數(shù)M M:為定點(diǎn)小數(shù),尾數(shù)的位數(shù)決定了浮點(diǎn)數(shù)有效:為定點(diǎn)小數(shù),尾數(shù)的位數(shù)決定了浮點(diǎn)數(shù)有效數(shù)值的數(shù)值的精

56、度精度,尾數(shù)的符號(hào)代表了浮點(diǎn)數(shù)的正負(fù),因,尾數(shù)的符號(hào)代表了浮點(diǎn)數(shù)的正負(fù),因此又稱為此又稱為數(shù)符數(shù)符。尾數(shù)一般采用原碼和補(bǔ)碼表示。尾數(shù)一般采用原碼和補(bǔ)碼表示。v 階碼階碼E E:為定點(diǎn)整數(shù),階碼的數(shù)值大小決定了該浮點(diǎn):為定點(diǎn)整數(shù),階碼的數(shù)值大小決定了該浮點(diǎn)數(shù)實(shí)際小數(shù)點(diǎn)位置與尾數(shù)的小數(shù)點(diǎn)位置(隱含)之?dāng)?shù)實(shí)際小數(shù)點(diǎn)位置與尾數(shù)的小數(shù)點(diǎn)位置(隱含)之間的偏移量。階碼的位數(shù)多少?zèng)Q定了浮點(diǎn)數(shù)的間的偏移量。階碼的位數(shù)多少?zèng)Q定了浮點(diǎn)數(shù)的表示表示范圍范圍。階碼的符號(hào)叫。階碼的符號(hào)叫階符階符。階碼一般采用移碼和補(bǔ)。階碼一般采用移碼和補(bǔ)碼表示。碼表示。v 階碼的底階碼的底R(shí) R:一般為:一般為2 2、8 8或或161

57、6 ,且,且隱含規(guī)定隱含規(guī)定。67IEEE 754 IEEE 754 浮點(diǎn)數(shù)標(biāo)準(zhǔn)浮點(diǎn)數(shù)標(biāo)準(zhǔn)v 根據(jù)根據(jù)IEEE 754 IEEE 754 國(guó)際標(biāo)準(zhǔn),常用的浮點(diǎn)數(shù)格式有國(guó)際標(biāo)準(zhǔn),常用的浮點(diǎn)數(shù)格式有3 3種,種,階碼的底隱含為階碼的底隱含為2 2。v 短實(shí)數(shù)短實(shí)數(shù)又稱為單精度浮點(diǎn)數(shù),又稱為單精度浮點(diǎn)數(shù),長(zhǎng)實(shí)數(shù)長(zhǎng)實(shí)數(shù)又稱為雙精度又稱為雙精度浮點(diǎn)數(shù),浮點(diǎn)數(shù),臨時(shí)實(shí)數(shù)臨時(shí)實(shí)數(shù)主要用于進(jìn)行浮點(diǎn)數(shù)運(yùn)算時(shí)保存主要用于進(jìn)行浮點(diǎn)數(shù)運(yùn)算時(shí)保存臨時(shí)的計(jì)算結(jié)果。格式:臨時(shí)的計(jì)算結(jié)果。格式:MSEM數(shù)符數(shù)符階符階符階碼階碼尾數(shù)尾數(shù)0:正數(shù):正數(shù)1:負(fù)數(shù):負(fù)數(shù)2n-1的移碼的移碼原碼表示;原碼表示;單、雙精度的整數(shù)位單、雙

58、精度的整數(shù)位“1”隱藏;隱藏;臨時(shí)實(shí)數(shù)無隱藏位臨時(shí)實(shí)數(shù)無隱藏位68IEEE 754 IEEE 754 浮點(diǎn)數(shù)標(biāo)準(zhǔn)浮點(diǎn)數(shù)標(biāo)準(zhǔn)v位數(shù):位數(shù):類型類型總位總位數(shù)數(shù)尾數(shù)位尾數(shù)位數(shù)(含數(shù)(含1位數(shù)符)位數(shù)符)階碼位數(shù)階碼位數(shù)(含(含1位階位階符)符)真值計(jì)算真值計(jì)算短實(shí)數(shù)短實(shí)數(shù)32248N=(-1)MS(1.M1 M2 Mn)2E-127長(zhǎng)實(shí)數(shù)長(zhǎng)實(shí)數(shù)645311N=(-1)MS(1. M1 M2 Mn)2E-1023臨時(shí)實(shí)數(shù)臨時(shí)實(shí)數(shù) 806515隱藏位隱藏位,位位于整數(shù)位于整數(shù)位隱藏位隱藏位,位位于整數(shù)位于整數(shù)位69二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示1.1. 浮點(diǎn)數(shù)的規(guī)格化表示:浮點(diǎn)數(shù)

59、的規(guī)格化表示:為了充分利用尾數(shù)的二為了充分利用尾數(shù)的二進(jìn)制數(shù)位來表示更多的有效數(shù)字,將尾數(shù)的絕進(jìn)制數(shù)位來表示更多的有效數(shù)字,將尾數(shù)的絕對(duì)值限定在某個(gè)范圍之內(nèi)。對(duì)值限定在某個(gè)范圍之內(nèi)。v 例如:例如:R R2 2,則規(guī)格化浮點(diǎn)數(shù)的,則規(guī)格化浮點(diǎn)數(shù)的尾數(shù)尾數(shù)M M應(yīng)滿足條應(yīng)滿足條件:絕對(duì)值最高有效位為件:絕對(duì)值最高有效位為1 1,即,即121 M沒有前沒有前導(dǎo)零導(dǎo)零70二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示2.2.計(jì)算機(jī)硬件對(duì)浮點(diǎn)數(shù)規(guī)格化判斷方法:計(jì)算機(jī)硬件對(duì)浮點(diǎn)數(shù)規(guī)格化判斷方法: 原碼表示的尾數(shù):原碼表示的尾數(shù): M1=1M1=1:規(guī)格化,即尾數(shù)為:規(guī)格化,即尾數(shù)為. .1 1形式

60、;形式; 補(bǔ)碼表示的尾數(shù)補(bǔ)碼表示的尾數(shù): MS MS M1=1 M1=1:規(guī)格化,即尾數(shù)為:規(guī)格化,即尾數(shù)為0.10.1形形式或者為式或者為1.01.0形式。形式。v 對(duì)于非規(guī)格化浮點(diǎn)數(shù),可以通過對(duì)于非規(guī)格化浮點(diǎn)數(shù),可以通過修改階碼修改階碼和和左右移尾左右移尾數(shù)數(shù)的方法來使其變?yōu)橐?guī)格化浮點(diǎn)數(shù),這個(gè)過程叫做的方法來使其變?yōu)橐?guī)格化浮點(diǎn)數(shù),這個(gè)過程叫做規(guī)規(guī)格化格化。71二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示二、浮點(diǎn)機(jī)器數(shù)的規(guī)格化表示v 尾數(shù)進(jìn)行右移實(shí)現(xiàn)的規(guī)格化,則稱為尾數(shù)進(jìn)行右移實(shí)現(xiàn)的規(guī)格化,則稱為右規(guī)右規(guī);v 尾數(shù)進(jìn)行左移實(shí)現(xiàn)的規(guī)格化,則稱為尾數(shù)進(jìn)行左移實(shí)現(xiàn)的規(guī)格化,則稱為左規(guī)左規(guī)。 v 使用規(guī)格化的浮點(diǎn)數(shù)表

溫馨提示

  • 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)論