




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西安電子科技大學計算機學院計算機組織與體系結構及設計第2章 計算機系統(tǒng)中的數(shù)據(jù)表示2n計算機可以表示的數(shù)據(jù):計算機可以表示的數(shù)據(jù):lbitlbytelwordn計算機中需要表示、處理的數(shù)據(jù):計算機中需要表示、處理的數(shù)據(jù):l指令指令l正數(shù)、負數(shù),小數(shù)、實數(shù)正數(shù)、負數(shù),小數(shù)、實數(shù)l文字、字符,聲音、圖像、視頻文字、字符,聲音、圖像、視頻n其它需要解決的問題:其它需要解決的問題:l能表示的最大數(shù)是多少?能表示的最大數(shù)是多少?l某一操作產生的結果超出了一個字的表示范圍,某一操作產生的結果超出了一個字的表示范圍,如何處理?如何處理?3數(shù)據(jù)表示數(shù)據(jù)表示與與數(shù)據(jù)結構數(shù)據(jù)結構n數(shù)據(jù)表示數(shù)據(jù)表示:指的是能由機器
2、硬件直接識別和引用:指的是能由機器硬件直接識別和引用的數(shù)據(jù)類型。的數(shù)據(jù)類型。由硬件實現(xiàn)的數(shù)據(jù)類型由硬件實現(xiàn)的數(shù)據(jù)類型n數(shù)據(jù)結構數(shù)據(jù)結構:面向計算機系統(tǒng)軟件、面向應用領域:面向計算機系統(tǒng)軟件、面向應用領域所需處理的數(shù)據(jù)類型。所需處理的數(shù)據(jù)類型。由軟件實現(xiàn)的數(shù)據(jù)類型由軟件實現(xiàn)的數(shù)據(jù)類型。l目標目標:最大限度滿足應用要求、最簡化的方法:最大限度滿足應用要求、最簡化的方法實現(xiàn)。實現(xiàn)。l實現(xiàn)實現(xiàn):通過數(shù)據(jù)表示和軟件映象相結合方法實:通過數(shù)據(jù)表示和軟件映象相結合方法實現(xiàn)?,F(xiàn)。n數(shù)據(jù)表示是數(shù)據(jù)類型的子集。數(shù)據(jù)表示是數(shù)據(jù)類型的子集。n數(shù)據(jù)表示的確定實質上是軟、硬件的取舍問題。數(shù)據(jù)表示的確定實質上是軟、硬件的取
3、舍問題。n數(shù)據(jù)結構和數(shù)據(jù)表示是軟、硬件的界面。數(shù)據(jù)結構和數(shù)據(jù)表示是軟、硬件的界面。4第第2章章 計算機系統(tǒng)中的數(shù)據(jù)表示計算機系統(tǒng)中的數(shù)據(jù)表示n數(shù)據(jù)編碼數(shù)據(jù)編碼l數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)l數(shù)據(jù)的浮點表示數(shù)據(jù)的浮點表示lBCD碼碼n非非數(shù)值數(shù)據(jù)的編碼數(shù)值數(shù)據(jù)的編碼lASCII碼碼l漢字編碼漢字編碼n檢錯與糾錯碼檢錯與糾錯碼l奇偶校驗碼奇偶校驗碼l海明碼海明碼l循環(huán)冗余校驗碼循環(huán)冗余校驗碼西安電子科技大學計算機學院2.1 數(shù)據(jù)編碼數(shù)據(jù)編碼計算機組織與體系結構及設計第2章 計算機系統(tǒng)中的數(shù)據(jù)表示6n編碼編碼:采用少量的:采用少量的基本符號基本符號,選用一定的,選用一定的組合原組合原則則,以表示大量復雜多樣的信
4、息。,以表示大量復雜多樣的信息。 l數(shù)值數(shù)值信息信息l非數(shù)值非數(shù)值信息信息7一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼n計算機內部的數(shù)據(jù)若有計算機內部的數(shù)據(jù)若有確定的值確定的值,即在,即在數(shù)軸數(shù)軸上能上能找到其對應的點,則稱為找到其對應的點,則稱為數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)。n數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)是表示是表示數(shù)量多少數(shù)量多少和和數(shù)值大小數(shù)值大小的數(shù)據(jù)。的數(shù)據(jù)。n進位計數(shù)制及其轉換進位計數(shù)制及其轉換8一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 一般地,一個包含一般地,一個包含n位整數(shù)、位整數(shù)、m位小數(shù)的二進制位小數(shù)的二進制數(shù)數(shù)B可寫作可寫作: 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ù)的編碼【例例】將二進制數(shù)將二進制數(shù)(11001.01)2、八進制數(shù)、八進制數(shù)(216.3)8、十、十六進制數(shù)六進制數(shù)(7A.C)16轉換成十進制數(shù)。轉換成十進制數(shù)?!窘饨狻?“按權展開按權展開” (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ù)的編碼【例例】將十進制數(shù)將十進制數(shù)730.8125轉換成二進制數(shù)、八進制轉換成二進制數(shù)、八進制數(shù)。數(shù)。【解解】 整數(shù)部分的轉換整數(shù)部分的轉換 小數(shù)部分的轉換小數(shù)部分的轉換11一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進制數(shù)將十進制數(shù)730.8125轉換成二進制數(shù)、八進制轉換成二進制數(shù)、八進制數(shù)。數(shù)。【解解】 整數(shù)部分的轉換:整數(shù)部分的轉換:“除基取余,先低后高除基取余,先低后高”因此,因此,(730)10(1332)812一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼因此,因此,(
7、730)10(1011011010)213一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼【例例】將十進制數(shù)將十進制數(shù)730.8125轉換成二進制數(shù)、八進制轉換成二進制數(shù)、八進制數(shù)。數(shù)。【解解】 小數(shù)部分的轉換:小數(shù)部分的轉換:“乘基取整,先高后低乘基取整,先高后低”將十進制數(shù)將十進制數(shù)(0.8125)10轉換為八進制數(shù):轉換為八進制數(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ù)的編碼【例例】將十進制數(shù)將十進制數(shù)730.8
8、125轉換成二進制數(shù)、八進制轉換成二進制數(shù)、八進制數(shù)。數(shù)?!窘饨狻?小數(shù)部分的轉換:小數(shù)部分的轉換:“乘基取整,先高后低乘基取整,先高后低”將十進制數(shù)將十進制數(shù)(0.8125)10轉換為二進制數(shù):轉換為二進制數(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ù)在計算機中表示的形式稱為機器數(shù),各種數(shù)值數(shù)據(jù)在計算機中表示的形式稱為機器數(shù),采用二
9、進制表示。機器數(shù)對應的實際數(shù)值稱為數(shù)的采用二進制表示。機器數(shù)對應的實際數(shù)值稱為數(shù)的真值真值。n無符號數(shù)與有符號數(shù)無符號數(shù)與有符號數(shù)l無符號數(shù)表示正數(shù),在機器數(shù)中沒有符號位;無符號數(shù)表示正數(shù),在機器數(shù)中沒有符號位;l有符號數(shù)用數(shù)字化的有符號數(shù)用數(shù)字化的“0”表示表示“正正”,“1”表示表示“負負”,符號放在有效數(shù)字的最前面。,符號放在有效數(shù)字的最前面。n定點數(shù)與浮點數(shù)定點數(shù)與浮點數(shù)l約定小數(shù)點位置固定不變的數(shù)稱為定點數(shù),計約定小數(shù)點位置固定不變的數(shù)稱為定點數(shù),計算機中算機中定點數(shù)只定義為純整數(shù)或純小數(shù)定點數(shù)只定義為純整數(shù)或純小數(shù)形式;形式;l浮點數(shù)采用類似科學計數(shù)法的數(shù)值表示方法。浮點數(shù)采用類似
10、科學計數(shù)法的數(shù)值表示方法。15一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼16一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼XsXn-2X1X0小數(shù)點位置小數(shù)點位置數(shù)值位數(shù)值位符號位符號位XsX-1X-2X-(n-1)小數(shù)點位置小數(shù)點位置符號位符號位數(shù)值位數(shù)值位n定點數(shù)定點數(shù) 帶符號定點整數(shù)格式:帶符號定點整數(shù)格式: 帶符號定點小數(shù)格式:帶符號定點小數(shù)格式:n浮點數(shù)浮點數(shù) 浮點數(shù)的表示方法,在本章的后面討論。浮點數(shù)的表示方法,在本章的后面討論。17一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示n原碼(原碼(True form):): “符號數(shù)值符號數(shù)值”表示法,表示法,符號位絕對值的真值符號位絕對
11、值的真值n定點整數(shù)的原碼定義:定點整數(shù)的原碼定義:n定點小數(shù)原碼的定義:定點小數(shù)原碼的定義: 0X11X原原011XXXX 0XX111122022nnnnXXXX原原18一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示【例例】若機器字長若機器字長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. 原碼表示原碼表示原碼原碼的的性質性質:n帶符號的絕對值表示:帶符號的絕對值表示:符號位符號位為為“0”表示該數(shù)為正,表示該數(shù)為正,符號位為符號位為“1”表示該數(shù)為負。表示該數(shù)為負。n“0”不唯一。不唯一。n表示表示范圍范圍(機器字長為(機器字長為n):):l定點小數(shù):定點小數(shù):(12-(n-1)(12-(n-1)l定點整數(shù):定點整數(shù):(2n-11)(2n-11) n若字長為若字長為n,總共有,
13、總共有2n個個碼點碼點,但對應的真值只有,但對應的真值只有2n1個個。n負數(shù)的原碼大于正數(shù)的原碼。負數(shù)的原碼大于正數(shù)的原碼。n真值與原碼之間的真值與原碼之間的轉換轉換:l真值轉原碼,符號位真值轉原碼,符號位+/-轉轉0/1,數(shù)值位照寫;,數(shù)值位照寫;l原碼轉真值,符號位原碼轉真值,符號位0/1轉轉+/-,數(shù)值位照寫。,數(shù)值位照寫。20一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 1. 原碼表示原碼表示原碼原碼的的優(yōu)缺點優(yōu)缺點:n優(yōu)點:優(yōu)點:l簡單、直觀,機器數(shù)和真值間的相互轉換很簡單、直觀,機器數(shù)和真值間的相互轉換很容易;容易;l實現(xiàn)乘、除運算的規(guī)則簡單。實現(xiàn)乘、除運算的規(guī)則簡單。n缺點:缺點:l實現(xiàn)
14、加、減運算的規(guī)則較復雜;實現(xiàn)加、減運算的規(guī)則較復雜;l“0”的表示不唯一。的表示不唯一。21一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示n無模運算:在無模運算:在實數(shù)實數(shù)范圍內進行的運算。范圍內進行的運算。n有模運算:在有模運算:在一定數(shù)值一定數(shù)值范圍內范圍內進行的運算。進行的運算。l在有模運算中,若在有模運算中,若A、B、M滿足如下關系:滿足如下關系:ABKM(K為整數(shù)),為整數(shù)),則記為則記為AB(MOD M),),即即A、B各除以各除以M后的余數(shù)相同,后的余數(shù)相同,稱稱B和和A為模為模M同余同余。l在一個有模運算系統(tǒng)中,一個數(shù)與它除以模后在一個有模運算系統(tǒng)中,一個數(shù)與它除
15、以模后得到的余數(shù)是得到的余數(shù)是等價等價的。的。l對于某一確定的模,某數(shù)對于某一確定的模,某數(shù)減去減去小于模的另一數(shù),小于模的另一數(shù),總可以用該數(shù)總可以用該數(shù)加上加上模與另一數(shù)絕對值之差來代模與另一數(shù)絕對值之差來代替。替。 補碼補碼可以可以用加法實現(xiàn)減法運算用加法實現(xiàn)減法運算。(1)補碼概念的引入)補碼概念的引入22一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示n無模運算無模運算n有模運算有模運算(1)補碼概念的引入)補碼概念的引入12123456789101123一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示n無模運算無模運算n有模運算有模運算結論:結論:l假定假定
16、M為模,若數(shù)為模,若數(shù)a、b滿足滿足abM,則稱則稱a、b互為互為補數(shù)補數(shù)。l在有模運算中,在有模運算中,減減去一個數(shù)等于去一個數(shù)等于加加上這個數(shù)上這個數(shù)對對模的補數(shù)模的補數(shù)。(1)補碼概念的引入)補碼概念的引入24一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示設模為設模為M,一個數(shù),一個數(shù) X 補碼的一般定義為:補碼的一般定義為: X 補補MXn若若 X 0 , 則 模, 則 模 M 作 為 超 出 部 分 被 舍 去 ,作 為 超 出 部 分 被 舍 去 , X 補補X,因而正數(shù)的補碼就是其本身;,因而正數(shù)的補碼就是其本身;n若若 X 0 ,則,則 X 補補就是以就是以 M
17、為模的為模的補數(shù)補數(shù)。(2)補碼的定義)補碼的定義25一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(2)補碼的定義)補碼的定義n定點定點整數(shù)整數(shù)的補碼定義:的補碼定義:n定點定點小數(shù)小數(shù)的補碼定義:的補碼定義: 2MOD011022XXXXXXX原補 nnnnnXXXXXXX2MOD02202211原補26一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(2)補碼的定義)補碼的定義【例例】若機器字長若機器字長n8,求求定點整數(shù)定點整數(shù) 0、1、128 的補碼表示。的補碼表示。【解解】0補補0原原0=(0000 0000)2-1補補28 +(-1) (1 0000 0
18、000) 2 -(0000 0001) 2 (1111 1111)2-128補補28 +(-128) (1 0000 0000) 2 -(1000 0000) 2 (1000 0000)227一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(2)補碼的定義)補碼的定義【例例】若機器字長若機器字長n8,則,則35補補35補補0.8125補補0.8125補補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. 補碼表示補碼表示(3)補碼的)補碼的性質性質(以定點小數(shù)為例)(以定點小數(shù)為例)1)補碼的)補碼的符號位符號位用補碼表示的數(shù),若其最高位為用補碼表示的數(shù),若其最高位為“0”,則此數(shù)為,則此數(shù)為正正;若其最高位為若其最高位為“1”,則此數(shù)為,則此數(shù)為負負。 證明:證明:以小數(shù)為例,以小數(shù)為例,當當0X1時,時,X補補X,因此有,因此有0X補補1當當1X0時,時,X補補2X,因此有,因此有1X補補2 29一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質2)補碼中)補碼中0
20、的表示:的表示:由補碼定義,由補碼定義,0補補0, 0的補碼是唯一的。的補碼是唯一的。30一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質3)補碼的)補碼的表示范圍表示范圍:假設機器字長為假設機器字長為n,則,則用補碼表示的用補碼表示的定點小數(shù)定點小數(shù),其表示范圍為:,其表示范圍為: 1X(12-(n-1)用補碼表示的用補碼表示的定點整數(shù)定點整數(shù),其表示范圍為:,其表示范圍為: 2n-1X(2n-11)比原碼多表示一個數(shù)。比原碼多表示一個數(shù)。4)負數(shù)的補碼)負數(shù)的補碼值值大于正數(shù)的補碼大于正數(shù)的補碼值值31一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼
21、表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換當當X0時,時,XX原原X補補真值真值 X X 補補 X 原原 0數(shù)值位不變數(shù)值位不變32一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換當當X0時,時,假設機器字長為假設機器字長為n,由定義得:,由定義得: 末位加一末位加一個個按位取反按位取反個個個個個個補補1000. 0111. 11000. 0111. 12011011 nXnnnXXXX33一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼
22、 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換當當X0時,時,假設機器字長為假設機器字長為n,由定義由定義 X 補補2X 得:得:X2X 補補,又因為:又因為:X| X |,因此,因此 末位加一末位加一個個按位取反按位取反補補個個補補補補1000. 0111. 12011 nXnXXXX34一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換結論:當真值結論:當真值X0時,時,真值真值 X X 補補 1數(shù)值按位取反,末位加
23、數(shù)值按位取反,末位加1 X 補補數(shù)值按位取反,末位加數(shù)值按位取反,末位加1 X 原原符號位符號位1不變不變35一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換“按位取反,末位加一按位取反,末位加一”:數(shù)值部分自低位向高位搜索,第一個數(shù)值部分自低位向高位搜索,第一個1及其以右的各及其以右的各位位0保持不變,以左的各高位按位取反。保持不變,以左的各高位按位取反。36一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與
24、真值、原碼之間的相互轉換【例例】假設機器字長假設機器字長n8,已知,已知X10.1011001,X20,X30.1101100,求其原碼及補碼。,求其原碼及補碼。37一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質5)補碼與真值、原碼之間的相互轉換)補碼與真值、原碼之間的相互轉換【例例】已知已知 X1補補0.1010110,X2補補1.1100101,X3補補1.0000000,求其真值及原碼。,求其真值及原碼。38一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展實際應用中,有
25、時需要擴充補碼的位數(shù),實際應用中,有時需要擴充補碼的位數(shù),n定點小數(shù):在其低位填充適當位數(shù)的定點小數(shù):在其低位填充適當位數(shù)的“0”n定點整數(shù):符號位擴展定點整數(shù):符號位擴展39一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展【例例】已知定點小數(shù)已知定點小數(shù)X1、X2用用8位表示的補碼如下:位表示的補碼如下:X1補補0.1010110,X2補補1.1100101。現(xiàn)要將現(xiàn)要將X1補補、X2補補擴展為擴展為16位表示,求位表示,求16位表示的位表示的X1補補、X2補補。【解解】X1補補0.1010110 00000000
26、X2補補1.1100101 00000000結論結論1:要將:要將n位純小數(shù)補碼變?yōu)槲患冃?shù)補碼變?yōu)?n位,位,只需在末尾添加只需在末尾添加n個個“0”即可。即可。40一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展要將要將n位位定點整數(shù)定點整數(shù)補碼用補碼用2n位位表示,如何處理?表示,如何處理?即:即:如何將如何將MOD 2n的補碼變成的補碼變成MOD 22n的補碼。的補碼。推導過程:推導過程:用用MOD 2nX補補表示表示X以以2n為模的補碼,為模的補碼,用用MOD 22nX補補表示表示X以以22n為模的補碼。為
27、模的補碼。nnnnnXXXXX2MOD022202MOD11 補補nnnnnXXXXX21221222MOD022202MOD 補補41一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展要將要將n位位定點整數(shù)定點整數(shù)補碼用補碼用2n位位表示,如何處理?表示,如何處理?當當X0時,時,補補個個補補個個補補補補2MOD0002MOD0002MOD2MOD0022XXXXXnnnnnn 42一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展要將要將n
28、位位定點整數(shù)定點整數(shù)補碼用補碼用2n位位表示,如何處理?表示,如何處理?當當X0時,時,補補個個補補個個個個補補個個個個補補補補2MOD11112MOD00011112MOD00010001)2MOD2(222MOD1n0n1n0n02222XXXXXXnnnnnnnnn 43一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展要將要將n位位定點整數(shù)定點整數(shù)補碼用補碼用2n位位表示,如何處理?表示,如何處理?綜合綜合X0、X0時的情況,時的情況,其中,其中,XS為為2nX補補的符號位。的符號位。補補個個補補2MOD2MO
29、Dn2XXXXXnSSSn 結論結論2:將整數(shù)補碼的模擴大將整數(shù)補碼的模擴大2n倍,只需將倍,只需將X補補的符號位向左復制的符號位向左復制n位即可。位即可。44一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質6)補碼的符號位擴展)補碼的符號位擴展要將要將n位位定點整數(shù)定點整數(shù)補碼用補碼用2n位位表示,如何處理?表示,如何處理?【例例】已知定點整數(shù)已知定點整數(shù)X1、X2用用8位表示的補碼如下:位表示的補碼如下:X1補補01010110,X2補補11100101。將將X1補補、X2補補擴展為擴展為16位表示。位表示?!窘饨狻?6位表示的位表示的X1補補、X2
30、補補如下:如下:X1補補00000000 01010110X2補補11111111 1110010145一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質7)補碼的算數(shù)右移(除)補碼的算數(shù)右移(除2運算)運算)某一個數(shù)的補碼經算數(shù)右移某一個數(shù)的補碼經算數(shù)右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符號位)如何處理?移出,最高位(符號位)如何處理?已知已知 ,求,求 。補補X補補21X,補補XX 補補補補補補21202121210XXXX ,補補XX 2補補則則2XX 補補補補補補補補2121211)2(212212210XXXXX 當當X0
31、時,時,當當X0時,時,綜合兩式,綜合兩式,以以定點小數(shù)定點小數(shù)為例為例46一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質7)補碼的算數(shù)右移(除)補碼的算數(shù)右移(除2運算)運算)某一個數(shù)的補碼經算數(shù)右移某一個數(shù)的補碼經算數(shù)右移1位后,其最低有效位被位后,其最低有效位被移出,最高位(符號位)如何處理?移出,最高位(符號位)如何處理?已知已知 ,求,求 。結論:結論:補補X補補21X兩式合并:兩式合并:補補補補212210XXXS 符號位不變符號位不變按位右移一位按位右移一位補補 X21補補X以以定點小數(shù)定點小數(shù)為例為例47一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的
32、編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質7)補碼的算數(shù)右移(除)補碼的算數(shù)右移(除2運算)運算)【例例】已知已知 X1補補0.1101010,X2補補1.0100110,X3補補1.0000000,求:,求: 補補121X 補補221X 補補321X0.01101011.10100111.100000048一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質8)補碼的算數(shù)左移(乘)補碼的算數(shù)左移(乘2運算)運算)算術左移可能產生溢出。因此,需增加一位二進制算術左移可能產生溢出。因此,需增加一位二進制位,或者說將模擴大一倍。位,或者說將模擴大一
33、倍。由由X 補補求求2X 補補:X 補補2XMOD 22X 補補42XMOD 42X 補補42X42(2X 補補)2X 補補結論:結論:已知已知X 補補求求2X 補補只需將只需將X 補補的的各位左各位左移一位移一位,末位補末位補0。49一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質8)補碼的算數(shù)左移(乘)補碼的算數(shù)左移(乘2運算)運算)【例例】假設機器字長假設機器字長n8,已知,已知X1補補0.0110100,X2補補1.0010110,求,求2X1補補、2X2補補?!窘饨狻?X1補補00.11010000.1101000未溢出未溢出2X2補補10.0
34、1011000.0101100溢出溢出 50一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 2. 補碼表示補碼表示(3)補碼的)補碼的性質性質8)補碼的算數(shù)左移(乘)補碼的算數(shù)左移(乘2運算)運算)n變形補碼變形補碼:采用采用雙符號位雙符號位。左符是真正的符號位,。左符是真正的符號位,右符用來判別右符用來判別“溢出溢出”。n當使用變形補碼(雙符號位)進行運算時,當使用變形補碼(雙符號位)進行運算時,l若運算結果的若運算結果的兩個符號位兩個符號位相同相同,則不發(fā)生溢出;,則不發(fā)生溢出;l若運算結果的若運算結果的兩個符號位兩個符號位相異相異,則結果溢出。,則結果溢出。此時,最高位為符號;次高位為溢出的數(shù)值而
35、此時,最高位為符號;次高位為溢出的數(shù)值而非符號。非符號。51一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示 反碼常用來作為由原碼求補碼或者由補碼反碼常用來作為由原碼求補碼或者由補碼求原碼的中間過渡。求原碼的中間過渡。 反碼又稱為反碼又稱為1的補碼的補碼(ones complement),),下面我們給出定點小數(shù)和定點整數(shù)的反碼定義。下面我們給出定點小數(shù)和定點整數(shù)的反碼定義。52一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示n設機器字長為設機器字長為n位,定點位,定點整數(shù)整數(shù)的的反碼反碼定義:定義:n設機器字長為設機器字長為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為橫坐為橫坐標,反碼為縱坐標。標,反碼為縱坐標。53一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示【例例】若機器字長若機器字長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. 反碼表示反碼表示反碼的反碼的性質性質:n正數(shù)的反碼與原碼相同,負數(shù)的反碼為原碼符號正數(shù)的反碼與原碼相同,負數(shù)的反碼為原碼符號位不變,數(shù)值位按位取反(絕對值的原碼按位取位不變,數(shù)值位按位取反(絕對值的原碼按位取反)。反)。n最高位為符號位,最高位為符號位,0表示正,表示正,1表示負。表示負。n兩種兩種0的表示,的表示,使得反碼與真值不能一
38、一對應使得反碼與真值不能一一對應:0反反000,0反反111n表示范圍(表示范圍(假設機器字長為假設機器字長為n):):l定點小數(shù):定點小數(shù):(12-(n-1)(12-(n-1)l定點整數(shù):定點整數(shù):(2n-11)(2n-11)n負數(shù)的反碼大于正數(shù)的反碼負數(shù)的反碼大于正數(shù)的反碼55一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 3. 反碼表示反碼表示反碼的反碼的性質性質:n反碼與原碼及真值之間的轉換:反碼與原碼及真值之間的轉換:l當當X0時,由定義:時,由定義:X反反X原原Xl當當X0時,時,n負數(shù)的反碼與補碼的關系(以小數(shù)為例):負數(shù)的反碼與補碼的關系(以小數(shù)為例):lX反反2 2-(n-1) + X
39、lX補補2 + X可見,負數(shù)的反碼末位加可見,負數(shù)的反碼末位加1即為其補碼(對整數(shù)即為其補碼(對整數(shù)同樣成立)。同樣成立)。真值真值XX原原 1數(shù)值位不變數(shù)值位不變X反反數(shù)值位按位取反數(shù)值位按位取反符號位不變符號位不變56一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示n帶符號數(shù)在計算機中除了原碼、補碼及反碼外,帶符號數(shù)在計算機中除了原碼、補碼及反碼外,還有一種表示方式,叫做還有一種表示方式,叫做“移碼移碼”。n以整數(shù)為例,在數(shù)值上,負數(shù)的補碼比正數(shù)的大,以整數(shù)為例,在數(shù)值上,負數(shù)的補碼比正數(shù)的大,而給每個數(shù)都加一個偏移量而給每個數(shù)都加一個偏移量2n-1后,補碼與真值的后,補碼與真
40、值的關系發(fā)生了如下變化:關系發(fā)生了如下變化:n這種新的編碼即為移碼。這種新的編碼即為移碼。X補補2nX02n-1-2n-12n-1X移移2nX02n-1-2n-12n-157一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示n計算機中常用計算機中常用移碼移碼來表示來表示浮點數(shù)浮點數(shù)的的階碼階碼 即即指數(shù)。指數(shù)。階碼為整數(shù),故我們只討論定點整數(shù)的移碼表示。階碼為整數(shù),故我們只討論定點整數(shù)的移碼表示。n機器字長為機器字長為n位,則移碼定義:位,則移碼定義:X移移2n-1X,其中其中:2n-1X2n-158一、數(shù)值數(shù)據(jù)的編碼一、數(shù)值數(shù)據(jù)的編碼 4. 移碼表示移碼表示定點整數(shù)定點整數(shù)X與與X原原 、X補補 、X移移的對應關系(機器字長的對應關系(機器字長n8) 真值真值XX的原碼的原碼表示表示X原原X的補碼的補碼表示表示X補補X的移碼表示的移碼表示X移移十進制十進制表示表示二進制表示二進制表示二進制表示二進制表示十進制十進制表示表示12701111111011111110111111101111111011111110111111111111111111111112551260111111001111110011
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以學案為翼展小組合作之輝:高中化學教學新探
- 浙江省寧波市寧海中學2024-2025學年高一上學期期初考試(創(chuàng)新班)物理試題
- 2020-2025年中國山羊行業(yè)市場調查研究及投資前景預測報告
- 中國萬能液壓機行業(yè)市場調查研究及發(fā)展趨勢預測報告
- 2025年中國指紋身份認證儀行業(yè)市場發(fā)展監(jiān)測及投資潛力預測報告
- 2025-2030年中國液態(tài)抑塵劑行業(yè)市場現(xiàn)狀調查及投資前景研判報告
- 2025年中國脫水蒜粉行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃報告
- 紙記錄儀數(shù)據(jù)轉換器項目投資可行性研究分析報告(2024-2030版)
- 2025屆四川省成都市雙流區(qū)高二下化學期末考試模擬試題含解析
- 中國植物工廠行業(yè)發(fā)展趨勢預測及投資戰(zhàn)略咨詢報告
- 測井原始資料質量要求
- 礦山行業(yè)生產制造執(zhí)行系統(tǒng)(MES)
- 微電網(wǎng)優(yōu)化調度
- 《新印象 CINEMA 4D電商設計基礎與實戰(zhàn) 全視頻微課版 》讀書筆記思維導圖
- 2023年北京市海淀區(qū)小升初英語考試題庫及答案解析
- 代謝性腦病的病例分析
- YY/T 1849-2022重組膠原蛋白
- GB/T 31227-2014原子力顯微鏡測量濺射薄膜表面粗糙度的方法
- GB/T 17669.1-1999建筑石膏一般試驗條件
- 七年級生物下填圖題(識圖題)總復習
- 高效執(zhí)行四原則授課版
評論
0/150
提交評論