計(jì)算機(jī)組成原理chap02-1_第1頁(yè)
計(jì)算機(jī)組成原理chap02-1_第2頁(yè)
計(jì)算機(jī)組成原理chap02-1_第3頁(yè)
計(jì)算機(jī)組成原理chap02-1_第4頁(yè)
計(jì)算機(jī)組成原理chap02-1_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西安電子科技大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)組織與體系結(jié)構(gòu)及設(shè)計(jì)第2章 計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)表示2n計(jì)算機(jī)可以表示的數(shù)據(jù):計(jì)算機(jī)可以表示的數(shù)據(jù):lbitlbytelwordn計(jì)算機(jī)中需要表示、處理的數(shù)據(jù):計(jì)算機(jī)中需要表示、處理的數(shù)據(jù):l指令指令l正數(shù)、負(fù)數(shù),小數(shù)、實(shí)數(shù)正數(shù)、負(fù)數(shù),小數(shù)、實(shí)數(shù)l文字、字符,聲音、圖像、視頻文字、字符,聲音、圖像、視頻n其它需要解決的問(wèn)題:其它需要解決的問(wèn)題:l能表示的最大數(shù)是多少?能表示的最大數(shù)是多少?l某一操作產(chǎn)生的結(jié)果超出了一個(gè)字的表示范圍,某一操作產(chǎn)生的結(jié)果超出了一個(gè)字的表示范圍,如何處理?如何處理?3數(shù)據(jù)表示數(shù)據(jù)表示與與數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)n數(shù)據(jù)表示數(shù)據(jù)表示:指的是能由機(jī)器

2、硬件直接識(shí)別和引用:指的是能由機(jī)器硬件直接識(shí)別和引用的數(shù)據(jù)類(lèi)型。的數(shù)據(jù)類(lèi)型。由硬件實(shí)現(xiàn)的數(shù)據(jù)類(lèi)型由硬件實(shí)現(xiàn)的數(shù)據(jù)類(lèi)型n數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu):面向計(jì)算機(jī)系統(tǒng)軟件、面向應(yīng)用領(lǐng)域:面向計(jì)算機(jī)系統(tǒng)軟件、面向應(yīng)用領(lǐng)域所需處理的數(shù)據(jù)類(lèi)型。所需處理的數(shù)據(jù)類(lèi)型。由軟件實(shí)現(xiàn)的數(shù)據(jù)類(lèi)型由軟件實(shí)現(xiàn)的數(shù)據(jù)類(lèi)型。l目標(biāo)目標(biāo):最大限度滿(mǎn)足應(yīng)用要求、最簡(jiǎn)化的方法:最大限度滿(mǎn)足應(yīng)用要求、最簡(jiǎn)化的方法實(shí)現(xiàn)。實(shí)現(xiàn)。l實(shí)現(xiàn)實(shí)現(xiàn):通過(guò)數(shù)據(jù)表示和軟件映象相結(jié)合方法實(shí):通過(guò)數(shù)據(jù)表示和軟件映象相結(jié)合方法實(shí)現(xiàn)?,F(xiàn)。n數(shù)據(jù)表示是數(shù)據(jù)類(lèi)型的子集。數(shù)據(jù)表示是數(shù)據(jù)類(lèi)型的子集。n數(shù)據(jù)表示的確定實(shí)質(zhì)上是軟、硬件的取舍問(wèn)題。數(shù)據(jù)表示的確定實(shí)質(zhì)上是軟、硬件的取

3、舍問(wèn)題。n數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)表示是軟、硬件的界面。數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)表示是軟、硬件的界面。4第第2章章 計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)表示計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)表示n數(shù)據(jù)編碼數(shù)據(jù)編碼l數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)l數(shù)據(jù)的浮點(diǎn)表示數(shù)據(jù)的浮點(diǎn)表示lBCD碼碼n非非數(shù)值數(shù)據(jù)的編碼數(shù)值數(shù)據(jù)的編碼lASCII碼碼l漢字編碼漢字編碼n檢錯(cuò)與糾錯(cuò)碼檢錯(cuò)與糾錯(cuò)碼l奇偶校驗(yàn)碼奇偶校驗(yàn)碼l海明碼海明碼l循環(huán)冗余校驗(yàn)碼循環(huán)冗余校驗(yàn)碼西安電子科技大學(xué)計(jì)算機(jī)學(xué)院2.1 數(shù)據(jù)編碼數(shù)據(jù)編碼計(jì)算機(jī)組織與體系結(jié)構(gòu)及設(shè)計(jì)第2章 計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)表示6n編碼編碼:采用少量的:采用少量的基本符號(hào)基本符號(hào),選用一定的,選用一定的組合原組合原則則,以表示大量復(fù)雜多樣的信

4、息。,以表示大量復(fù)雜多樣的信息。 l數(shù)值數(shù)值信息信息l非數(shù)值非數(shù)值信息信息7一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼n計(jì)算機(jī)內(nèi)部的數(shù)據(jù)若有計(jì)算機(jī)內(nèi)部的數(shù)據(jù)若有確定的值確定的值,即在,即在數(shù)軸數(shù)軸上能上能找到其對(duì)應(yīng)的點(diǎn),則稱(chēng)為找到其對(duì)應(yīng)的點(diǎn),則稱(chēng)為數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)。n數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)是表示是表示數(shù)量多少數(shù)量多少和和數(shù)值大小數(shù)值大小的數(shù)據(jù)。的數(shù)據(jù)。n進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換8一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 一般地,一個(gè)包含一般地,一個(gè)包含n位整數(shù)、位整數(shù)、m位小數(shù)的二進(jìn)制位小數(shù)的二進(jìn)制數(shù)數(shù)B可寫(xiě)作可寫(xiě)作: Bbn-1bn-2b1b0 . b-1b-2b-m (m、n為正整數(shù))為正整數(shù)

5、)其代表的數(shù)值為:其代表的數(shù)值為:V(B)bn-12n-1bn-22n-2b121b020 b-12-1b-22-2b-m2-m 式中,式中,bi(in-1、n-2、1、0、-1、-2、-m)只)只能是能是0或或1。9一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將二進(jìn)制數(shù)將二進(jìn)制數(shù)(11001.01)2、八進(jìn)制數(shù)、八進(jìn)制數(shù)(216.3)8、十、十六進(jìn)制數(shù)六進(jìn)制數(shù)(7A.C)16轉(zhuǎn)換成十進(jìn)制數(shù)。轉(zhuǎn)換成十進(jìn)制數(shù)?!窘饨狻?“按權(quán)展開(kāi)按權(quán)展開(kāi)” (11001.01)2(12412302202112002-112-2)10(25.25)10(216.3)8(28218168038-1)10(142.3

6、75)10(7A.C)16(7161101601216-1)10(122.75)1010一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進(jìn)制數(shù)將十進(jìn)制數(shù)730.8125轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)。數(shù)?!窘饨狻?整數(shù)部分的轉(zhuǎn)換整數(shù)部分的轉(zhuǎn)換 小數(shù)部分的轉(zhuǎn)換小數(shù)部分的轉(zhuǎn)換11一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進(jìn)制數(shù)將十進(jìn)制數(shù)730.8125轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)。數(shù)?!窘饨狻?整數(shù)部分的轉(zhuǎn)換:整數(shù)部分的轉(zhuǎn)換:“除基取余,先低后高除基取余,先低后高”因此,因此,(730)10(1332)812一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼因此,因此,(

7、730)10(1011011010)213一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進(jìn)制數(shù)將十進(jìn)制數(shù)730.8125轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)。數(shù)。【解解】 小數(shù)部分的轉(zhuǎn)換:小數(shù)部分的轉(zhuǎn)換:“乘基取整,先高后低乘基取整,先高后低”將十進(jìn)制數(shù)將十進(jìn)制數(shù)(0.8125)10轉(zhuǎn)換為八進(jìn)制數(shù):轉(zhuǎn)換為八進(jìn)制數(shù):0.812586.5整數(shù)部分整數(shù)部分6(高位)(高位)0.584.0整數(shù)部分整數(shù)部分4(低位)(低位)因此,因此,(0.8125)10(0.64)8 (730.8125)10(1332.64)814一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進(jìn)制數(shù)將十進(jìn)制數(shù)730.8

8、125轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)。數(shù)?!窘饨狻?小數(shù)部分的轉(zhuǎn)換:小數(shù)部分的轉(zhuǎn)換:“乘基取整,先高后低乘基取整,先高后低”將十進(jìn)制數(shù)將十進(jìn)制數(shù)(0.8125)10轉(zhuǎn)換為二進(jìn)制數(shù):轉(zhuǎn)換為二進(jìn)制數(shù):0.812521.625整數(shù)部分整數(shù)部分1(高位)(高位)0.62521.25整數(shù)部分整數(shù)部分10.2520.5整數(shù)部分整數(shù)部分00.521.0整數(shù)部分整數(shù)部分1(低位)(低位)因此,因此,(0.8125)10(0.1101)2 (730.8125)10(1011011010.1101)2 n各種數(shù)值數(shù)據(jù)在計(jì)算機(jī)中表示的形式稱(chēng)為機(jī)器數(shù),各種數(shù)值數(shù)據(jù)在計(jì)算機(jī)中表示的形式稱(chēng)為機(jī)器數(shù),采用二

9、進(jìn)制表示。機(jī)器數(shù)對(duì)應(yīng)的實(shí)際數(shù)值稱(chēng)為數(shù)的采用二進(jìn)制表示。機(jī)器數(shù)對(duì)應(yīng)的實(shí)際數(shù)值稱(chēng)為數(shù)的真值真值。n無(wú)符號(hào)數(shù)與有符號(hào)數(shù)無(wú)符號(hào)數(shù)與有符號(hào)數(shù)l無(wú)符號(hào)數(shù)表示正數(shù),在機(jī)器數(shù)中沒(méi)有符號(hào)位;無(wú)符號(hào)數(shù)表示正數(shù),在機(jī)器數(shù)中沒(méi)有符號(hào)位;l有符號(hào)數(shù)用數(shù)字化的有符號(hào)數(shù)用數(shù)字化的“0”表示表示“正正”,“1”表示表示“負(fù)負(fù)”,符號(hào)放在有效數(shù)字的最前面。,符號(hào)放在有效數(shù)字的最前面。n定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù)與浮點(diǎn)數(shù)l約定小數(shù)點(diǎn)位置固定不變的數(shù)稱(chēng)為定點(diǎn)數(shù),計(jì)約定小數(shù)點(diǎn)位置固定不變的數(shù)稱(chēng)為定點(diǎn)數(shù),計(jì)算機(jī)中算機(jī)中定點(diǎn)數(shù)只定義為純整數(shù)或純小數(shù)定點(diǎn)數(shù)只定義為純整數(shù)或純小數(shù)形式;形式;l浮點(diǎn)數(shù)采用類(lèi)似科學(xué)計(jì)數(shù)法的數(shù)值表示方法。浮點(diǎn)數(shù)采用類(lèi)似

10、科學(xué)計(jì)數(shù)法的數(shù)值表示方法。15一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼16一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼XsXn-2X1X0小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置數(shù)值位數(shù)值位符號(hào)位符號(hào)位XsX-1X-2X-(n-1)小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置符號(hào)位符號(hào)位數(shù)值位數(shù)值位n定點(diǎn)數(shù)定點(diǎn)數(shù) 帶符號(hào)定點(diǎn)整數(shù)格式:帶符號(hào)定點(diǎn)整數(shù)格式: 帶符號(hào)定點(diǎn)小數(shù)格式:帶符號(hào)定點(diǎn)小數(shù)格式:n浮點(diǎn)數(shù)浮點(diǎn)數(shù) 浮點(diǎn)數(shù)的表示方法,在本章的后面討論。浮點(diǎn)數(shù)的表示方法,在本章的后面討論。17一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示n原碼(原碼(True form):): “符號(hào)數(shù)值符號(hào)數(shù)值”表示法,表示法,符號(hào)位絕對(duì)值的真值符號(hào)位絕對(duì)

11、值的真值n定點(diǎn)整數(shù)的原碼定義:定點(diǎn)整數(shù)的原碼定義:n定點(diǎn)小數(shù)原碼的定義:定點(diǎn)小數(shù)原碼的定義: 0X11X原原011XXXX 0XX111122022nnnnXXXX原原18一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示【例例】若機(jī)器字長(zhǎng)若機(jī)器字長(zhǎng)n8,則,則35原原 (00100011)235原原 27(35) (10000000)2(00100011)2 (10100011)20.8125原原(0.1101000)20.8125原原1(0.8125)(1.0000000)2(0.1101000)2(1.1101000)2(00100011)227(35)(10000000)2(

12、00100011)2(10100011)2(0.1101000)21(0.8125)(1.0000000)2(0.1101000)2(1.1101000)219一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示原碼原碼的的性質(zhì)性質(zhì):n帶符號(hào)的絕對(duì)值表示:帶符號(hào)的絕對(duì)值表示:符號(hào)位符號(hào)位為為“0”表示該數(shù)為正,表示該數(shù)為正,符號(hào)位為符號(hào)位為“1”表示該數(shù)為負(fù)。表示該數(shù)為負(fù)。n“0”不唯一。不唯一。n表示表示范圍范圍(機(jī)器字長(zhǎng)為(機(jī)器字長(zhǎng)為n):):l定點(diǎn)小數(shù):定點(diǎn)小數(shù):(12-(n-1)(12-(n-1)l定點(diǎn)整數(shù):定點(diǎn)整數(shù):(2n-11)(2n-11) n若字長(zhǎng)為若字長(zhǎng)為n,總共有,

13、總共有2n個(gè)個(gè)碼點(diǎn)碼點(diǎn),但對(duì)應(yīng)的真值只有,但對(duì)應(yīng)的真值只有2n1個(gè)個(gè)。n負(fù)數(shù)的原碼大于正數(shù)的原碼。負(fù)數(shù)的原碼大于正數(shù)的原碼。n真值與原碼之間的真值與原碼之間的轉(zhuǎn)換轉(zhuǎn)換:l真值轉(zhuǎn)原碼,符號(hào)位真值轉(zhuǎn)原碼,符號(hào)位+/-轉(zhuǎn)轉(zhuǎn)0/1,數(shù)值位照寫(xiě);,數(shù)值位照寫(xiě);l原碼轉(zhuǎn)真值,符號(hào)位原碼轉(zhuǎn)真值,符號(hào)位0/1轉(zhuǎn)轉(zhuǎn)+/-,數(shù)值位照寫(xiě)。,數(shù)值位照寫(xiě)。20一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示原碼原碼的的優(yōu)缺點(diǎn)優(yōu)缺點(diǎn):n優(yōu)點(diǎn):優(yōu)點(diǎn):l簡(jiǎn)單、直觀,機(jī)器數(shù)和真值間的相互轉(zhuǎn)換很簡(jiǎn)單、直觀,機(jī)器數(shù)和真值間的相互轉(zhuǎn)換很容易;容易;l實(shí)現(xiàn)乘、除運(yùn)算的規(guī)則簡(jiǎn)單。實(shí)現(xiàn)乘、除運(yùn)算的規(guī)則簡(jiǎn)單。n缺點(diǎn):缺點(diǎn):l實(shí)現(xiàn)

14、加、減運(yùn)算的規(guī)則較復(fù)雜;實(shí)現(xiàn)加、減運(yùn)算的規(guī)則較復(fù)雜;l“0”的表示不唯一。的表示不唯一。21一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示n無(wú)模運(yùn)算:在無(wú)模運(yùn)算:在實(shí)數(shù)實(shí)數(shù)范圍內(nèi)進(jìn)行的運(yùn)算。范圍內(nèi)進(jìn)行的運(yùn)算。n有模運(yùn)算:在有模運(yùn)算:在一定數(shù)值一定數(shù)值范圍內(nèi)范圍內(nèi)進(jìn)行的運(yùn)算。進(jìn)行的運(yùn)算。l在有模運(yùn)算中,若在有模運(yùn)算中,若A、B、M滿(mǎn)足如下關(guān)系:滿(mǎn)足如下關(guān)系:ABKM(K為整數(shù)),為整數(shù)),則記為則記為AB(MOD M),),即即A、B各除以各除以M后的余數(shù)相同,后的余數(shù)相同,稱(chēng)稱(chēng)B和和A為模為模M同余同余。l在一個(gè)有模運(yùn)算系統(tǒng)中,一個(gè)數(shù)與它除以模后在一個(gè)有模運(yùn)算系統(tǒng)中,一個(gè)數(shù)與它除

15、以模后得到的余數(shù)是得到的余數(shù)是等價(jià)等價(jià)的。的。l對(duì)于某一確定的模,某數(shù)對(duì)于某一確定的模,某數(shù)減去減去小于模的另一數(shù),小于模的另一數(shù),總可以用該數(shù)總可以用該數(shù)加上加上模與另一數(shù)絕對(duì)值之差來(lái)代模與另一數(shù)絕對(duì)值之差來(lái)代替。替。 補(bǔ)碼補(bǔ)碼可以可以用加法實(shí)現(xiàn)減法運(yùn)算用加法實(shí)現(xiàn)減法運(yùn)算。(1)補(bǔ)碼概念的引入)補(bǔ)碼概念的引入22一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示n無(wú)模運(yùn)算無(wú)模運(yùn)算n有模運(yùn)算有模運(yùn)算(1)補(bǔ)碼概念的引入)補(bǔ)碼概念的引入12123456789101123一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示n無(wú)模運(yùn)算無(wú)模運(yùn)算n有模運(yùn)算有模運(yùn)算結(jié)論:結(jié)論:l假定假定

16、M為模,若數(shù)為模,若數(shù)a、b滿(mǎn)足滿(mǎn)足abM,則稱(chēng)則稱(chēng)a、b互為互為補(bǔ)數(shù)補(bǔ)數(shù)。l在有模運(yùn)算中,在有模運(yùn)算中,減減去一個(gè)數(shù)等于去一個(gè)數(shù)等于加加上這個(gè)數(shù)上這個(gè)數(shù)對(duì)對(duì)模的補(bǔ)數(shù)模的補(bǔ)數(shù)。(1)補(bǔ)碼概念的引入)補(bǔ)碼概念的引入24一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示設(shè)模為設(shè)模為M,一個(gè)數(shù),一個(gè)數(shù) X 補(bǔ)碼的一般定義為:補(bǔ)碼的一般定義為: X 補(bǔ)補(bǔ)MXn若若 X 0 , 則 模, 則 模 M 作 為 超 出 部 分 被 舍 去 ,作 為 超 出 部 分 被 舍 去 , X 補(bǔ)補(bǔ)X,因而正數(shù)的補(bǔ)碼就是其本身;,因而正數(shù)的補(bǔ)碼就是其本身;n若若 X 0 ,則,則 X 補(bǔ)補(bǔ)就是以就是以 M

17、為模的為模的補(bǔ)數(shù)補(bǔ)數(shù)。(2)補(bǔ)碼的定義)補(bǔ)碼的定義25一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(2)補(bǔ)碼的定義)補(bǔ)碼的定義n定點(diǎn)定點(diǎn)整數(shù)整數(shù)的補(bǔ)碼定義:的補(bǔ)碼定義:n定點(diǎn)定點(diǎn)小數(shù)小數(shù)的補(bǔ)碼定義:的補(bǔ)碼定義: 2MOD011022XXXXXXX原補(bǔ) nnnnnXXXXXXX2MOD02202211原補(bǔ)26一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(2)補(bǔ)碼的定義)補(bǔ)碼的定義【例例】若機(jī)器字長(zhǎng)若機(jī)器字長(zhǎng)n8,求求定點(diǎn)整數(shù)定點(diǎn)整數(shù) 0、1、128 的補(bǔ)碼表示。的補(bǔ)碼表示。【解解】0補(bǔ)補(bǔ)0原原0=(0000 0000)2-1補(bǔ)補(bǔ)28 +(-1) (1 0000 0

18、000) 2 -(0000 0001) 2 (1111 1111)2-128補(bǔ)補(bǔ)28 +(-128) (1 0000 0000) 2 -(1000 0000) 2 (1000 0000)227一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(2)補(bǔ)碼的定義)補(bǔ)碼的定義【例例】若機(jī)器字長(zhǎng)若機(jī)器字長(zhǎng)n8,則,則35補(bǔ)補(bǔ)35補(bǔ)補(bǔ)0.8125補(bǔ)補(bǔ)0.8125補(bǔ)補(bǔ)20121222423824162532266427128282562951221010242-10.52-20.252-30.1252-40.06252-50.03125(0010 0011)2(1101 1101)2 (0.11

19、01000)2 (1.0011000)228一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)(以定點(diǎn)小數(shù)為例)(以定點(diǎn)小數(shù)為例)1)補(bǔ)碼的)補(bǔ)碼的符號(hào)位符號(hào)位用補(bǔ)碼表示的數(shù),若其最高位為用補(bǔ)碼表示的數(shù),若其最高位為“0”,則此數(shù)為,則此數(shù)為正正;若其最高位為若其最高位為“1”,則此數(shù)為,則此數(shù)為負(fù)負(fù)。 證明:證明:以小數(shù)為例,以小數(shù)為例,當(dāng)當(dāng)0X1時(shí),時(shí),X補(bǔ)補(bǔ)X,因此有,因此有0X補(bǔ)補(bǔ)1當(dāng)當(dāng)1X0時(shí),時(shí),X補(bǔ)補(bǔ)2X,因此有,因此有1X補(bǔ)補(bǔ)2 29一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)2)補(bǔ)碼中)補(bǔ)碼中0

20、的表示:的表示:由補(bǔ)碼定義,由補(bǔ)碼定義,0補(bǔ)補(bǔ)0, 0的補(bǔ)碼是唯一的。的補(bǔ)碼是唯一的。30一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)3)補(bǔ)碼的)補(bǔ)碼的表示范圍表示范圍:假設(shè)機(jī)器字長(zhǎng)為假設(shè)機(jī)器字長(zhǎng)為n,則,則用補(bǔ)碼表示的用補(bǔ)碼表示的定點(diǎn)小數(shù)定點(diǎn)小數(shù),其表示范圍為:,其表示范圍為: 1X(12-(n-1)用補(bǔ)碼表示的用補(bǔ)碼表示的定點(diǎn)整數(shù)定點(diǎn)整數(shù),其表示范圍為:,其表示范圍為: 2n-1X(2n-11)比原碼多表示一個(gè)數(shù)。比原碼多表示一個(gè)數(shù)。4)負(fù)數(shù)的補(bǔ)碼)負(fù)數(shù)的補(bǔ)碼值值大于正數(shù)的補(bǔ)碼大于正數(shù)的補(bǔ)碼值值31一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼

21、表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換當(dāng)當(dāng)X0時(shí),時(shí),XX原原X補(bǔ)補(bǔ)真值真值 X X 補(bǔ)補(bǔ) X 原原 0數(shù)值位不變數(shù)值位不變32一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換當(dāng)當(dāng)X0時(shí),時(shí),假設(shè)機(jī)器字長(zhǎng)為假設(shè)機(jī)器字長(zhǎng)為n,由定義得:,由定義得: 末位加一末位加一個(gè)個(gè)按位取反按位取反個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)補(bǔ)補(bǔ)1000. 0111. 11000. 0111. 12011011 nXnnnXXXX33一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼

22、 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換當(dāng)當(dāng)X0時(shí),時(shí),假設(shè)機(jī)器字長(zhǎng)為假設(shè)機(jī)器字長(zhǎng)為n,由定義由定義 X 補(bǔ)補(bǔ)2X 得:得:X2X 補(bǔ)補(bǔ),又因?yàn)椋河忠驗(yàn)椋篨| X |,因此,因此 末位加一末位加一個(gè)個(gè)按位取反按位取反補(bǔ)補(bǔ)個(gè)個(gè)補(bǔ)補(bǔ)補(bǔ)補(bǔ)1000. 0111. 12011 nXnXXXX34一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換結(jié)論:當(dāng)真值結(jié)論:當(dāng)真值X0時(shí),時(shí),真值真值 X X 補(bǔ)補(bǔ) 1數(shù)值按位取反,末位加

23、數(shù)值按位取反,末位加1 X 補(bǔ)補(bǔ)數(shù)值按位取反,末位加數(shù)值按位取反,末位加1 X 原原符號(hào)位符號(hào)位1不變不變35一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換“按位取反,末位加一按位取反,末位加一”:數(shù)值部分自低位向高位搜索,第一個(gè)數(shù)值部分自低位向高位搜索,第一個(gè)1及其以右的各及其以右的各位位0保持不變,以左的各高位按位取反。保持不變,以左的各高位按位取反。36一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與

24、真值、原碼之間的相互轉(zhuǎn)換【例例】假設(shè)機(jī)器字長(zhǎng)假設(shè)機(jī)器字長(zhǎng)n8,已知,已知X10.1011001,X20,X30.1101100,求其原碼及補(bǔ)碼。,求其原碼及補(bǔ)碼。37一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)5)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換)補(bǔ)碼與真值、原碼之間的相互轉(zhuǎn)換【例例】已知已知 X1補(bǔ)補(bǔ)0.1010110,X2補(bǔ)補(bǔ)1.1100101,X3補(bǔ)補(bǔ)1.0000000,求其真值及原碼。,求其真值及原碼。38一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展實(shí)際應(yīng)用中,有

25、時(shí)需要擴(kuò)充補(bǔ)碼的位數(shù),實(shí)際應(yīng)用中,有時(shí)需要擴(kuò)充補(bǔ)碼的位數(shù),n定點(diǎn)小數(shù):在其低位填充適當(dāng)位數(shù)的定點(diǎn)小數(shù):在其低位填充適當(dāng)位數(shù)的“0”n定點(diǎn)整數(shù):符號(hào)位擴(kuò)展定點(diǎn)整數(shù):符號(hào)位擴(kuò)展39一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展【例例】已知定點(diǎn)小數(shù)已知定點(diǎn)小數(shù)X1、X2用用8位表示的補(bǔ)碼如下:位表示的補(bǔ)碼如下:X1補(bǔ)補(bǔ)0.1010110,X2補(bǔ)補(bǔ)1.1100101?,F(xiàn)要將現(xiàn)要將X1補(bǔ)補(bǔ)、X2補(bǔ)補(bǔ)擴(kuò)展為擴(kuò)展為16位表示,求位表示,求16位表示的位表示的X1補(bǔ)補(bǔ)、X2補(bǔ)補(bǔ)?!窘饨狻縓1補(bǔ)補(bǔ)0.1010110 00000000

26、X2補(bǔ)補(bǔ)1.1100101 00000000結(jié)論結(jié)論1:要將:要將n位純小數(shù)補(bǔ)碼變?yōu)槲患冃?shù)補(bǔ)碼變?yōu)?n位,位,只需在末尾添加只需在末尾添加n個(gè)個(gè)“0”即可。即可。40一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展要將要將n位位定點(diǎn)整數(shù)定點(diǎn)整數(shù)補(bǔ)碼用補(bǔ)碼用2n位位表示,如何處理?表示,如何處理?即:即:如何將如何將MOD 2n的補(bǔ)碼變成的補(bǔ)碼變成MOD 22n的補(bǔ)碼。的補(bǔ)碼。推導(dǎo)過(guò)程:推導(dǎo)過(guò)程:用用MOD 2nX補(bǔ)補(bǔ)表示表示X以以2n為模的補(bǔ)碼,為模的補(bǔ)碼,用用MOD 22nX補(bǔ)補(bǔ)表示表示X以以22n為模的補(bǔ)碼。為

27、模的補(bǔ)碼。nnnnnXXXXX2MOD022202MOD11 補(bǔ)補(bǔ)nnnnnXXXXX21221222MOD022202MOD 補(bǔ)補(bǔ)41一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展要將要將n位位定點(diǎn)整數(shù)定點(diǎn)整數(shù)補(bǔ)碼用補(bǔ)碼用2n位位表示,如何處理?表示,如何處理?當(dāng)當(dāng)X0時(shí),時(shí),補(bǔ)補(bǔ)個(gè)個(gè)補(bǔ)補(bǔ)個(gè)個(gè)補(bǔ)補(bǔ)補(bǔ)補(bǔ)2MOD0002MOD0002MOD2MOD0022XXXXXnnnnnn 42一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展要將要將n

28、位位定點(diǎn)整數(shù)定點(diǎn)整數(shù)補(bǔ)碼用補(bǔ)碼用2n位位表示,如何處理?表示,如何處理?當(dāng)當(dāng)X0時(shí),時(shí),補(bǔ)補(bǔ)個(gè)個(gè)補(bǔ)補(bǔ)個(gè)個(gè)個(gè)個(gè)補(bǔ)補(bǔ)個(gè)個(gè)個(gè)個(gè)補(bǔ)補(bǔ)補(bǔ)補(bǔ)2MOD11112MOD00011112MOD00010001)2MOD2(222MOD1n0n1n0n02222XXXXXXnnnnnnnnn 43一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展要將要將n位位定點(diǎn)整數(shù)定點(diǎn)整數(shù)補(bǔ)碼用補(bǔ)碼用2n位位表示,如何處理?表示,如何處理?綜合綜合X0、X0時(shí)的情況,時(shí)的情況,其中,其中,XS為為2nX補(bǔ)補(bǔ)的符號(hào)位。的符號(hào)位。補(bǔ)補(bǔ)個(gè)個(gè)補(bǔ)補(bǔ)2MOD2MO

29、Dn2XXXXXnSSSn 結(jié)論結(jié)論2:將整數(shù)補(bǔ)碼的模擴(kuò)大將整數(shù)補(bǔ)碼的模擴(kuò)大2n倍,只需將倍,只需將X補(bǔ)補(bǔ)的符號(hào)位向左復(fù)制的符號(hào)位向左復(fù)制n位即可。位即可。44一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)6)補(bǔ)碼的符號(hào)位擴(kuò)展)補(bǔ)碼的符號(hào)位擴(kuò)展要將要將n位位定點(diǎn)整數(shù)定點(diǎn)整數(shù)補(bǔ)碼用補(bǔ)碼用2n位位表示,如何處理?表示,如何處理?【例例】已知定點(diǎn)整數(shù)已知定點(diǎn)整數(shù)X1、X2用用8位表示的補(bǔ)碼如下:位表示的補(bǔ)碼如下:X1補(bǔ)補(bǔ)01010110,X2補(bǔ)補(bǔ)11100101。將將X1補(bǔ)補(bǔ)、X2補(bǔ)補(bǔ)擴(kuò)展為擴(kuò)展為16位表示。位表示?!窘饨狻?6位表示的位表示的X1補(bǔ)補(bǔ)、X2

30、補(bǔ)補(bǔ)如下:如下:X1補(bǔ)補(bǔ)00000000 01010110X2補(bǔ)補(bǔ)11111111 1110010145一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)7)補(bǔ)碼的算數(shù)右移(除)補(bǔ)碼的算數(shù)右移(除2運(yùn)算)運(yùn)算)某一個(gè)數(shù)的補(bǔ)碼經(jīng)算數(shù)右移某一個(gè)數(shù)的補(bǔ)碼經(jīng)算數(shù)右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符號(hào)位)如何處理?移出,最高位(符號(hào)位)如何處理?已知已知 ,求,求 。補(bǔ)補(bǔ)X補(bǔ)補(bǔ)21X,補(bǔ)補(bǔ)XX 補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)21202121210XXXX ,補(bǔ)補(bǔ)XX 2補(bǔ)補(bǔ)則則2XX 補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)2121211)2(212212210XXXXX 當(dāng)當(dāng)X0

31、時(shí),時(shí),當(dāng)當(dāng)X0時(shí),時(shí),綜合兩式,綜合兩式,以以定點(diǎn)小數(shù)定點(diǎn)小數(shù)為例為例46一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)7)補(bǔ)碼的算數(shù)右移(除)補(bǔ)碼的算數(shù)右移(除2運(yùn)算)運(yùn)算)某一個(gè)數(shù)的補(bǔ)碼經(jīng)算數(shù)右移某一個(gè)數(shù)的補(bǔ)碼經(jīng)算數(shù)右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符號(hào)位)如何處理?移出,最高位(符號(hào)位)如何處理?已知已知 ,求,求 。結(jié)論:結(jié)論:補(bǔ)補(bǔ)X補(bǔ)補(bǔ)21X兩式合并:兩式合并:補(bǔ)補(bǔ)補(bǔ)補(bǔ)212210XXXS 符號(hào)位不變符號(hào)位不變按位右移一位按位右移一位補(bǔ)補(bǔ) X21補(bǔ)補(bǔ)X以以定點(diǎn)小數(shù)定點(diǎn)小數(shù)為例為例47一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的

32、編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)7)補(bǔ)碼的算數(shù)右移(除)補(bǔ)碼的算數(shù)右移(除2運(yùn)算)運(yùn)算)【例例】已知已知 X1補(bǔ)補(bǔ)0.1101010,X2補(bǔ)補(bǔ)1.0100110,X3補(bǔ)補(bǔ)1.0000000,求:,求: 補(bǔ)補(bǔ)121X 補(bǔ)補(bǔ)221X 補(bǔ)補(bǔ)321X0.01101011.10100111.100000048一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)8)補(bǔ)碼的算數(shù)左移(乘)補(bǔ)碼的算數(shù)左移(乘2運(yùn)算)運(yùn)算)算術(shù)左移可能產(chǎn)生溢出。因此,需增加一位二進(jìn)制算術(shù)左移可能產(chǎn)生溢出。因此,需增加一位二進(jìn)制位,或者說(shuō)將模擴(kuò)大一倍。位,或者說(shuō)將模擴(kuò)大一

33、倍。由由X 補(bǔ)補(bǔ)求求2X 補(bǔ)補(bǔ):X 補(bǔ)補(bǔ)2XMOD 22X 補(bǔ)補(bǔ)42XMOD 42X 補(bǔ)補(bǔ)42X42(2X 補(bǔ)補(bǔ))2X 補(bǔ)補(bǔ)結(jié)論:結(jié)論:已知已知X 補(bǔ)補(bǔ)求求2X 補(bǔ)補(bǔ)只需將只需將X 補(bǔ)補(bǔ)的的各位左各位左移一位移一位,末位補(bǔ)末位補(bǔ)0。49一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)8)補(bǔ)碼的算數(shù)左移(乘)補(bǔ)碼的算數(shù)左移(乘2運(yùn)算)運(yùn)算)【例例】假設(shè)機(jī)器字長(zhǎng)假設(shè)機(jī)器字長(zhǎng)n8,已知,已知X1補(bǔ)補(bǔ)0.0110100,X2補(bǔ)補(bǔ)1.0010110,求,求2X1補(bǔ)補(bǔ)、2X2補(bǔ)補(bǔ)。【解解】2X1補(bǔ)補(bǔ)00.11010000.1101000未溢出未溢出2X2補(bǔ)補(bǔ)10.0

34、1011000.0101100溢出溢出 50一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補(bǔ)碼表示補(bǔ)碼表示(3)補(bǔ)碼的)補(bǔ)碼的性質(zhì)性質(zhì)8)補(bǔ)碼的算數(shù)左移(乘)補(bǔ)碼的算數(shù)左移(乘2運(yùn)算)運(yùn)算)n變形補(bǔ)碼變形補(bǔ)碼:采用采用雙符號(hào)位雙符號(hào)位。左符是真正的符號(hào)位,。左符是真正的符號(hào)位,右符用來(lái)判別右符用來(lái)判別“溢出溢出”。n當(dāng)使用變形補(bǔ)碼(雙符號(hào)位)進(jìn)行運(yùn)算時(shí),當(dāng)使用變形補(bǔ)碼(雙符號(hào)位)進(jìn)行運(yùn)算時(shí),l若運(yùn)算結(jié)果的若運(yùn)算結(jié)果的兩個(gè)符號(hào)位兩個(gè)符號(hào)位相同相同,則不發(fā)生溢出;,則不發(fā)生溢出;l若運(yùn)算結(jié)果的若運(yùn)算結(jié)果的兩個(gè)符號(hào)位兩個(gè)符號(hào)位相異相異,則結(jié)果溢出。,則結(jié)果溢出。此時(shí),最高位為符號(hào);次高位為溢出的數(shù)值而

35、此時(shí),最高位為符號(hào);次高位為溢出的數(shù)值而非符號(hào)。非符號(hào)。51一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示 反碼常用來(lái)作為由原碼求補(bǔ)碼或者由補(bǔ)碼反碼常用來(lái)作為由原碼求補(bǔ)碼或者由補(bǔ)碼求原碼的中間過(guò)渡。求原碼的中間過(guò)渡。 反碼又稱(chēng)為反碼又稱(chēng)為1的補(bǔ)碼的補(bǔ)碼(ones complement),),下面我們給出定點(diǎn)小數(shù)和定點(diǎn)整數(shù)的反碼定義。下面我們給出定點(diǎn)小數(shù)和定點(diǎn)整數(shù)的反碼定義。52一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示n設(shè)機(jī)器字長(zhǎng)為設(shè)機(jī)器字長(zhǎng)為n位,定點(diǎn)位,定點(diǎn)整數(shù)整數(shù)的的反碼反碼定義:定義:n設(shè)機(jī)器字長(zhǎng)為設(shè)機(jī)器字長(zhǎng)為n位,定點(diǎn)位,定點(diǎn)小數(shù)小數(shù)的的反碼反碼定義:

36、定義:)22(01)22(10)1()1( nnMODXXXXX反反)12(02)12(2011 nnnnMODXXXXX反反X反反2-2-(n-1)X01-111-2-(n-1) X表示真值,以真值表示真值,以真值x為橫坐為橫坐標(biāo),反碼為縱坐標(biāo)。標(biāo),反碼為縱坐標(biāo)。53一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示【例例】若機(jī)器字長(zhǎng)若機(jī)器字長(zhǎng)n8,求反碼,求反碼35反反35反反 0.8125反反0.8125反反35 = 0010001135 = 001000110.8125 = 0.11010000.8125 = 0.1101000= (00100011)2= (281)(35)

37、= (11111111)2(00100011)2= (11011100)2= (0.1101000)2= (22-7)(0.8125)= (1.1111111)2(0.1101000)2= (1.0010111)254一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示反碼的反碼的性質(zhì)性質(zhì):n正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為原碼符號(hào)正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為原碼符號(hào)位不變,數(shù)值位按位取反(絕對(duì)值的原碼按位取位不變,數(shù)值位按位取反(絕對(duì)值的原碼按位取反)。反)。n最高位為符號(hào)位,最高位為符號(hào)位,0表示正,表示正,1表示負(fù)。表示負(fù)。n兩種兩種0的表示,的表示,使得反碼與真值不能一

38、一對(duì)應(yīng)使得反碼與真值不能一一對(duì)應(yīng):0反反000,0反反111n表示范圍(表示范圍(假設(shè)機(jī)器字長(zhǎng)為假設(shè)機(jī)器字長(zhǎng)為n):):l定點(diǎn)小數(shù):定點(diǎn)小數(shù):(12-(n-1)(12-(n-1)l定點(diǎn)整數(shù):定點(diǎn)整數(shù):(2n-11)(2n-11)n負(fù)數(shù)的反碼大于正數(shù)的反碼負(fù)數(shù)的反碼大于正數(shù)的反碼55一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示反碼的反碼的性質(zhì)性質(zhì):n反碼與原碼及真值之間的轉(zhuǎn)換:反碼與原碼及真值之間的轉(zhuǎn)換:l當(dāng)當(dāng)X0時(shí),由定義:時(shí),由定義:X反反X原原Xl當(dāng)當(dāng)X0時(shí),時(shí),n負(fù)數(shù)的反碼與補(bǔ)碼的關(guān)系(以小數(shù)為例):負(fù)數(shù)的反碼與補(bǔ)碼的關(guān)系(以小數(shù)為例):lX反反2 2-(n-1) + X

39、lX補(bǔ)補(bǔ)2 + X可見(jiàn),負(fù)數(shù)的反碼末位加可見(jiàn),負(fù)數(shù)的反碼末位加1即為其補(bǔ)碼(對(duì)整數(shù)即為其補(bǔ)碼(對(duì)整數(shù)同樣成立)。同樣成立)。真值真值XX原原 1數(shù)值位不變數(shù)值位不變X反反數(shù)值位按位取反數(shù)值位按位取反符號(hào)位不變符號(hào)位不變56一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示n帶符號(hào)數(shù)在計(jì)算機(jī)中除了原碼、補(bǔ)碼及反碼外,帶符號(hào)數(shù)在計(jì)算機(jī)中除了原碼、補(bǔ)碼及反碼外,還有一種表示方式,叫做還有一種表示方式,叫做“移碼移碼”。n以整數(shù)為例,在數(shù)值上,負(fù)數(shù)的補(bǔ)碼比正數(shù)的大,以整數(shù)為例,在數(shù)值上,負(fù)數(shù)的補(bǔ)碼比正數(shù)的大,而給每個(gè)數(shù)都加一個(gè)偏移量而給每個(gè)數(shù)都加一個(gè)偏移量2n-1后,補(bǔ)碼與真值的后,補(bǔ)碼與真

40、值的關(guān)系發(fā)生了如下變化:關(guān)系發(fā)生了如下變化:n這種新的編碼即為移碼。這種新的編碼即為移碼。X補(bǔ)補(bǔ)2nX02n-1-2n-12n-1X移移2nX02n-1-2n-12n-157一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示n計(jì)算機(jī)中常用計(jì)算機(jī)中常用移碼移碼來(lái)表示來(lái)表示浮點(diǎn)數(shù)浮點(diǎn)數(shù)的的階碼階碼 即即指數(shù)。指數(shù)。階碼為整數(shù),故我們只討論定點(diǎn)整數(shù)的移碼表示。階碼為整數(shù),故我們只討論定點(diǎn)整數(shù)的移碼表示。n機(jī)器字長(zhǎng)為機(jī)器字長(zhǎng)為n位,則移碼定義:位,則移碼定義:X移移2n-1X,其中其中:2n-1X2n-158一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示定點(diǎn)整數(shù)定點(diǎn)整數(shù)X與與X原原 、X補(bǔ)補(bǔ) 、X移移的對(duì)應(yīng)關(guān)系(機(jī)器字長(zhǎng)的對(duì)應(yīng)關(guān)系(機(jī)器字長(zhǎng)n8) 真值真值XX的原碼的原碼表示表示X原原X的補(bǔ)碼的補(bǔ)碼表示表示X補(bǔ)補(bǔ)X的移碼表示的移碼表示X移移十進(jìn)制十進(jìn)制表示表示二進(jìn)制表示二進(jìn)制表示二進(jìn)制表示二進(jìn)制表示十進(jìn)制十進(jìn)制表示表示12701111111011111110111111101111111011111110111111111111111111111112551260111111001111110011

溫馨提示

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

評(píng)論

0/150

提交評(píng)論