白中英計算機(jī)組成原理第2章_運(yùn)算方法與運(yùn)算器(選用)_第1頁
白中英計算機(jī)組成原理第2章_運(yùn)算方法與運(yùn)算器(選用)_第2頁
白中英計算機(jī)組成原理第2章_運(yùn)算方法與運(yùn)算器(選用)_第3頁
白中英計算機(jī)組成原理第2章_運(yùn)算方法與運(yùn)算器(選用)_第4頁
白中英計算機(jī)組成原理第2章_運(yùn)算方法與運(yùn)算器(選用)_第5頁
已閱讀5頁,還剩185頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 運(yùn)算方法和運(yùn)算器 2021年6月22日星期二2 目錄目錄 2.0 數(shù)據(jù)的類型數(shù)據(jù)的類型 2.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法 (掌握)(掌握) 2.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算 (掌握)(掌握) 2.3 定點(diǎn)乘法運(yùn)算定點(diǎn)乘法運(yùn)算 (理解)(理解) 2.4 定點(diǎn)除法運(yùn)算定點(diǎn)除法運(yùn)算 (理解)(理解) 2.5 定點(diǎn)運(yùn)算器的組成定點(diǎn)運(yùn)算器的組成 (了解)(了解) 2.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器(掌握)(掌握) 2021年6月22日星期二3 學(xué)習(xí)要求學(xué)習(xí)要求 l掌握定點(diǎn)和浮點(diǎn)數(shù)的表示方法,表示范圍;掌握定點(diǎn)和浮點(diǎn)數(shù)的表示方法,表示范圍; l掌握

2、定點(diǎn)數(shù)的補(bǔ)碼加減法、常用的乘除法運(yùn)算方法;掌握定點(diǎn)數(shù)的補(bǔ)碼加減法、常用的乘除法運(yùn)算方法; l掌握浮點(diǎn)數(shù)的加減運(yùn)算方法;掌握浮點(diǎn)數(shù)的加減運(yùn)算方法; l掌握數(shù)據(jù)校驗(yàn)的方法;掌握數(shù)據(jù)校驗(yàn)的方法; l理解溢出判斷方法;理解溢出判斷方法; l清楚運(yùn)算器部件的組成結(jié)構(gòu)及設(shè)計方法。清楚運(yùn)算器部件的組成結(jié)構(gòu)及設(shè)計方法。 2021年6月22日星期二4 2.0 數(shù)據(jù)的類型(數(shù)據(jù)的類型(1/2) l按數(shù)制分:按數(shù)制分: 十進(jìn)制:在微機(jī)中直接運(yùn)算困難;十進(jìn)制:在微機(jī)中直接運(yùn)算困難; 二進(jìn)制:占存儲空間少,硬件上易于實(shí)現(xiàn),易于運(yùn)算;二進(jìn)制:占存儲空間少,硬件上易于實(shí)現(xiàn),易于運(yùn)算; 十六進(jìn)制:方便觀察和使用;十六進(jìn)制:方

3、便觀察和使用; 二二-十進(jìn)制:十進(jìn)制:4位二進(jìn)制數(shù)表示位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù),轉(zhuǎn)換簡單。位十進(jìn)制數(shù),轉(zhuǎn)換簡單。 l按數(shù)據(jù)格式分:按數(shù)據(jù)格式分: 真值:沒有經(jīng)過編碼的直觀數(shù)據(jù)表示方式,其值可帶正負(fù)號,真值:沒有經(jīng)過編碼的直觀數(shù)據(jù)表示方式,其值可帶正負(fù)號, 任何數(shù)制均可;任何數(shù)制均可; 機(jī)器數(shù):符號化后的數(shù)值機(jī)器數(shù):符號化后的數(shù)值(包括正負(fù)號的表示包括正負(fù)號的表示),一般位數(shù)固定,一般位數(shù)固定 (8、16、32),不能隨便忽略任何位置上的,不能隨便忽略任何位置上的0或或1; 2021年6月22日星期二5 2.0 數(shù)據(jù)的類型(數(shù)據(jù)的類型(2/2) l按數(shù)據(jù)的表示范圍分:按數(shù)據(jù)的表示范圍分: 定點(diǎn)

4、數(shù):小數(shù)點(diǎn)位置固定,數(shù)據(jù)表示范圍??;定點(diǎn)數(shù):小數(shù)點(diǎn)位置固定,數(shù)據(jù)表示范圍小; 浮點(diǎn)數(shù):小數(shù)點(diǎn)位置不固定,數(shù)據(jù)表示范圍較大。浮點(diǎn)數(shù):小數(shù)點(diǎn)位置不固定,數(shù)據(jù)表示范圍較大。 l按能否表示負(fù)數(shù)分:按能否表示負(fù)數(shù)分: 無符號數(shù):所有均為表示數(shù)值,直接用二進(jìn)制數(shù)表示;無符號數(shù):所有均為表示數(shù)值,直接用二進(jìn)制數(shù)表示; 有符號數(shù):有正負(fù)之分,最高位為符號位,其余位表有符號數(shù):有正負(fù)之分,最高位為符號位,其余位表 示數(shù)值。示數(shù)值。 u按編碼不同又可分為原碼、反碼、補(bǔ)碼、移碼按編碼不同又可分為原碼、反碼、補(bǔ)碼、移碼 2021年6月22日星期二6 2.1 數(shù)據(jù)與文字的表示方法數(shù)據(jù)與文字的表示方法 l2.1.1 數(shù)據(jù)

5、格式數(shù)據(jù)格式 l2.1.2 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼表示 l2.1.1 數(shù)據(jù)格式數(shù)據(jù)格式 l2.1.3 字符與字符串的表示方法字符與字符串的表示方法 l2.1.4 漢字的表示方法漢字的表示方法 l2.1.5 校驗(yàn)碼校驗(yàn)碼 2021年6月22日星期二7 l定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位置的數(shù)據(jù);定點(diǎn)數(shù):小數(shù)點(diǎn)固定在某一位置的數(shù)據(jù); 純小數(shù):純小數(shù): u表示形式表示形式 有符號數(shù)有符號數(shù) x=xSx-1x-2x-n 0 |x|1-2-n ;xs為符號位為符號位 無符號數(shù)無符號數(shù) x=x0 x-1x-2x-n 0 x 1-2-n ;xs為符號位為符號位 u數(shù)據(jù)表示范圍數(shù)據(jù)表示范圍 0.00= 0 |x|

6、 1-2-n = 0.11 純整數(shù):純整數(shù): u表示形式表示形式 有符號數(shù)有符號數(shù) x=x s x n-1 x 1 x 0 |x|2n-1 ;xs為符號位為符號位 無符號數(shù)無符號數(shù) x=x n x n-1 x 1 x 0 0 x2n+1-1 ;xn為數(shù)值位為數(shù)值位 l注意:小數(shù)點(diǎn)的位置是機(jī)器約定好的,并沒有實(shí)際的保存。注意:小數(shù)點(diǎn)的位置是機(jī)器約定好的,并沒有實(shí)際的保存。 x0 x-1x-2x-3 x-n xnxn-1xn-2x1x0 2.1.1 數(shù)據(jù)格式數(shù)據(jù)格式定點(diǎn)數(shù)定點(diǎn)數(shù) 設(shè)采用設(shè)采用n+1位數(shù)據(jù)位數(shù)據(jù) 2021年6月22日星期二8 定點(diǎn)機(jī)的特點(diǎn)定點(diǎn)機(jī)的特點(diǎn) l所能表示的數(shù)據(jù)范圍小所能表示的

7、數(shù)據(jù)范圍小 l使用不方便,運(yùn)算精度較低使用不方便,運(yùn)算精度較低 l存儲單元利用率低存儲單元利用率低 2021年6月22日星期二9 2.1.2 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼表示 l重點(diǎn):重點(diǎn): 1、原碼、補(bǔ)碼、移碼的表示形式、原碼、補(bǔ)碼、移碼的表示形式 2、補(bǔ)碼的定義、補(bǔ)碼的定義 3、原碼、補(bǔ)碼、移碼的表示范圍、原碼、補(bǔ)碼、移碼的表示范圍 2021年6月22日星期二10 1、原碼表示法、原碼表示法定義定義 l定義:定義: 定點(diǎn)小數(shù):定點(diǎn)小數(shù):x原 原 定點(diǎn)整數(shù):定點(diǎn)整數(shù):x原 原 l舉例:舉例: +0.110 原 原 0.110 -0.110原 原 1 - (-0.110) = 1.110 +110

8、原 原 0110 -110原 原 23- (-110) 1000 +110 = 1110 x1 x 0 1- x=1+|x| 0 x -1 x2n x 0 2n- x=2n+|x| 0 x -2n 實(shí)際機(jī)器中保存時實(shí)際機(jī)器中保存時 并不保存小數(shù)點(diǎn)并不保存小數(shù)點(diǎn) xnxn-1xn-2x1x0 2021年6月22日星期二11 1、原碼表示法、原碼表示法特點(diǎn)特點(diǎn) l0有兩種表示法有兩種表示法 +0原 原 = 0000 ; -0原原 = 1000 l數(shù)據(jù)表示范圍數(shù)據(jù)表示范圍 定點(diǎn)小數(shù):定點(diǎn)小數(shù):-1X1 定點(diǎn)整數(shù)定點(diǎn)整數(shù): -2nX2n (若數(shù)值位(若數(shù)值位n=3即:即:-8X x 0 2+x = 2

9、 - |x| 0 x -1 x 2n x 0 2n+1+x = 2n+1-|x| 0 x -2n x為為n+1位位 (mod 2) (mod 2n+1) 實(shí)際機(jī)器中保存時實(shí)際機(jī)器中保存時 并不保存小數(shù)點(diǎn)并不保存小數(shù)點(diǎn) xnxn-1xn-2x1x0 2021年6月22日星期二16 2、補(bǔ)碼表示法、補(bǔ)碼表示法特點(diǎn)特點(diǎn) l0有唯一的表示法有唯一的表示法 -0補(bǔ) 補(bǔ) 24+(-0 ) mod 24 0000 +0補(bǔ) 補(bǔ) l數(shù)據(jù)表示范圍數(shù)據(jù)表示范圍 定點(diǎn)小數(shù):定點(diǎn)小數(shù):-1X1 定點(diǎn)整數(shù)定點(diǎn)整數(shù): -2nX2n (若(若n=3,則,則-8X x -2n l與與x補(bǔ) 補(bǔ)的區(qū)別: 的區(qū)別:符號位相反符號位相

10、反 l優(yōu)點(diǎn):優(yōu)點(diǎn): 可以比較直觀地判斷兩個數(shù)據(jù)的大??;可以比較直觀地判斷兩個數(shù)據(jù)的大?。?u浮點(diǎn)數(shù)運(yùn)算時,容易進(jìn)行對階操作;浮點(diǎn)數(shù)運(yùn)算時,容易進(jìn)行對階操作; 表示浮點(diǎn)數(shù)階碼時,容易判斷是否下溢;表示浮點(diǎn)數(shù)階碼時,容易判斷是否下溢; u當(dāng)階碼為全當(dāng)階碼為全0時,浮點(diǎn)數(shù)下溢。時,浮點(diǎn)數(shù)下溢。 真值真值補(bǔ)碼補(bǔ)碼移碼移碼 -810000000 -710010001 -610100010 000001000 +100011001 +701111111 4位補(bǔ)碼與移碼位補(bǔ)碼與移碼 xnxn-1xn-2x1x0 2021年6月22日星期二22 原、補(bǔ)、移碼的編碼形式原、補(bǔ)、移碼的編碼形式 l正數(shù):正數(shù): 原

11、、補(bǔ)碼的編碼完全相同;原、補(bǔ)碼的編碼完全相同; 補(bǔ)碼和移碼的符號位相反,數(shù)值位相同;補(bǔ)碼和移碼的符號位相反,數(shù)值位相同; l負(fù)數(shù):負(fù)數(shù): 原碼:原碼: 符號位為符號位為1 數(shù)值部分與真值的絕對值相同數(shù)值部分與真值的絕對值相同 補(bǔ)碼:補(bǔ)碼: 符號位為符號位為1 數(shù)值部分與原碼各位相反,且末位加數(shù)值部分與原碼各位相反,且末位加1 移碼:移碼: 符號位與補(bǔ)碼相反,數(shù)值位與補(bǔ)碼相同符號位與補(bǔ)碼相反,數(shù)值位與補(bǔ)碼相同 2021年6月22日星期二23 課本課本P22例例6 以定點(diǎn)整數(shù)為例以定點(diǎn)整數(shù)為例,用數(shù)軸形式說明原碼、反碼、用數(shù)軸形式說明原碼、反碼、 補(bǔ)碼、移碼表示范圍和可能的數(shù)碼組合情況。補(bǔ)碼、移碼

12、表示范圍和可能的數(shù)碼組合情況。 2021年6月22日星期二242021年6月22日星期二24 課本課本P22例例7 將十進(jìn)制真值將十進(jìn)制真值(127,1,0,1,127)列表列表 表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。 十進(jìn)制真十進(jìn)制真 值值 二進(jìn)制真值二進(jìn)制真值原碼表示原碼表示反碼表示反碼表示補(bǔ)碼表示補(bǔ)碼表示移碼表示移碼表示 -127-111 11111111 11111000 00001000 00010000 0001 -1-000 00011000 00011111 11101111 11110111 1111 0 +000 0000000

13、0 00000000 0000 0000 00001000 0000 -000 00001000 00001111 1111 +1+000 00010000 00010000 00010000 00011000 0001 +127+111 11110111 11110111 11110111 11111111 1111 符號位符號位 +0;- 1 數(shù)值位數(shù)值位 各位取反各位取反 數(shù)值位數(shù)值位 末位加末位加1 符號位符號位(正負(fù)數(shù)正負(fù)數(shù)) 取反取反 負(fù)數(shù)時負(fù)數(shù)時 2021年6月22日星期二25 P22例例8 設(shè)機(jī)器字長設(shè)機(jī)器字長16位,定點(diǎn)表示,尾數(shù)位,定點(diǎn)表示,尾數(shù)15位,數(shù)符位,數(shù)符1位,問

14、:位,問: (1)定點(diǎn)原碼整數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少?定點(diǎn)原碼整數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少? (2)定點(diǎn)原碼小數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少?定點(diǎn)原碼小數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少? 0111 1111 1111 1111 1111 1111 1111 1111 0111 1111 1111 1111 1111 1111 1111 1111 (215-1) = +32767 -(215-1) = -32767 (1-2-15) = +(1-1/32768) -(1-2-15) = -(1-1/32768) l定點(diǎn)原碼整數(shù)定點(diǎn)原碼整數(shù) 最大正數(shù)

15、最大正數(shù) 最小負(fù)數(shù)最小負(fù)數(shù) l定點(diǎn)原碼小數(shù)定點(diǎn)原碼小數(shù) 最大正數(shù)最大正數(shù) 最小負(fù)數(shù)最小負(fù)數(shù) 2021年6月22日星期二26 2.1.1 數(shù)據(jù)格式數(shù)據(jù)格式浮點(diǎn)數(shù)浮點(diǎn)數(shù) l浮點(diǎn)數(shù):小數(shù)點(diǎn)位置可變,形如浮點(diǎn)數(shù):小數(shù)點(diǎn)位置可變,形如科學(xué)計數(shù)法科學(xué)計數(shù)法中的數(shù)據(jù)表示。中的數(shù)據(jù)表示。 l浮點(diǎn)數(shù)格式定義:浮點(diǎn)數(shù)格式定義: N= Re M M:尾數(shù):尾數(shù)(mantissa) ,是一個,是一個純小數(shù)純小數(shù),表示數(shù)據(jù)的全部有效,表示數(shù)據(jù)的全部有效 數(shù)位,決定著數(shù)值的精度;數(shù)位,決定著數(shù)值的精度; R:基數(shù):基數(shù)(radix) ,可以取,可以取2、8、10、16,表示當(dāng)前的數(shù)制;,表示當(dāng)前的數(shù)制; u微機(jī)中,一般默

16、認(rèn)為微機(jī)中,一般默認(rèn)為2,隱含表示。,隱含表示。 e: 階碼階碼(exponent) ,是一個,是一個整數(shù)整數(shù),用于指出小數(shù)點(diǎn)在該數(shù),用于指出小數(shù)點(diǎn)在該數(shù) 中的位置,中的位置,決定著數(shù)據(jù)數(shù)值的大小決定著數(shù)據(jù)數(shù)值的大小。 l機(jī)器數(shù)的一般表示形式機(jī)器數(shù)的一般表示形式 階符階符階碼階碼數(shù)符數(shù)符尾數(shù)尾數(shù) 數(shù)符數(shù)符階符階符階碼階碼尾數(shù)尾數(shù) 2021年6月22日星期二27 科學(xué)計數(shù)法的表示科學(xué)計數(shù)法的表示 l一個十進(jìn)制數(shù)可以表示成不同的形式:一個十進(jìn)制數(shù)可以表示成不同的形式: l同理,一個二進(jìn)制數(shù)也可以有多種表示:同理,一個二進(jìn)制數(shù)也可以有多種表示: 33 10 ()123.456123456 100.1

17、23456 10N 100100 2 ()1101.001111010011 20.1101.0011 2N 2021年6月22日星期二28 浮點(diǎn)數(shù)規(guī)格化浮點(diǎn)數(shù)規(guī)格化 l浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示 1.1120=0.11121=11.12-1 機(jī)器數(shù)的表示不同,不利于運(yùn)算機(jī)器數(shù)的表示不同,不利于運(yùn)算 l規(guī)格化的目的規(guī)格化的目的 保證浮點(diǎn)數(shù)表示的唯一性;保證浮點(diǎn)數(shù)表示的唯一性; 保留更多地有效數(shù)字,提高運(yùn)算的精度。保留更多地有效數(shù)字,提高運(yùn)算的精度。 l規(guī)格化要求規(guī)格化要求 1/R|尾數(shù)尾數(shù)|1; l規(guī)格化處理:規(guī)格化處理: 尾數(shù)向左移尾數(shù)向左移n位位(小數(shù)點(diǎn)右移小數(shù)點(diǎn)右移),同時階碼減,同時階碼

18、減n; 尾數(shù)向右移尾數(shù)向右移n位位(小數(shù)點(diǎn)左移小數(shù)點(diǎn)左移),同時階碼加,同時階碼加n。 規(guī)格化規(guī)格化 右規(guī)右規(guī) 左規(guī)左規(guī) 2021年6月22日星期二29 浮點(diǎn)數(shù)的規(guī)格化浮點(diǎn)數(shù)的規(guī)格化 l尾數(shù)用原碼表示時尾數(shù)用原碼表示時 尾數(shù)最高數(shù)值位為尾數(shù)最高數(shù)值位為1; 尾數(shù)形如尾數(shù)形如0.1(正);或(正);或1.1(負(fù));(負(fù)); 例如,例如,0.01125要規(guī)格化則變?yōu)橐?guī)格化則變?yōu)?.1124; 0.01125要規(guī)格化則變?yōu)橐?guī)格化則變?yōu)?.1124; l尾數(shù)用補(bǔ)碼表示時尾數(shù)用補(bǔ)碼表示時 尾數(shù)最高數(shù)值位和尾數(shù)符號位相反;尾數(shù)最高數(shù)值位和尾數(shù)符號位相反; 尾數(shù)形如尾數(shù)形如0.1(正);或(正);或1.

19、0(負(fù))(負(fù)) 例如,例如,0.01125要規(guī)格化,則變?yōu)橐?guī)格化,則變?yōu)?.1124; 0.01125要規(guī)格化,則變?yōu)橐?guī)格化,則變?yōu)?.0124; 2021年6月22日星期二30 浮點(diǎn)數(shù)的數(shù)據(jù)表示范圍浮點(diǎn)數(shù)的數(shù)據(jù)表示范圍 0最大最大 負(fù)數(shù)負(fù)數(shù) 最小最小 正數(shù)正數(shù) 最小最小 負(fù)數(shù)負(fù)數(shù) 最大最大 正數(shù)正數(shù) 下溢區(qū)下溢區(qū)上溢區(qū)上溢區(qū)上溢區(qū)上溢區(qū)負(fù)數(shù)區(qū)負(fù)數(shù)區(qū)正數(shù)區(qū)正數(shù)區(qū) 尾數(shù)尾數(shù)負(fù)的最小值負(fù)的最小值負(fù)的最大值負(fù)的最大值 正的最小值正的最小值 正的最大值正的最大值 階碼階碼正的最大值正的最大值負(fù)的最小值負(fù)的最小值 負(fù)的最小值負(fù)的最小值 正的最大值正的最大值 l浮點(diǎn)數(shù)的溢出:階碼溢出浮點(diǎn)數(shù)的溢出:階碼

20、溢出 上溢:階碼大于所能表示的最大值;上溢:階碼大于所能表示的最大值; 下溢:階碼小于所能表示的最小值;下溢:階碼小于所能表示的最小值; l機(jī)器零:機(jī)器零: 尾數(shù)為尾數(shù)為 0,或階碼小于所能表示的最小值;,或階碼小于所能表示的最小值; 2021年6月22日星期二31 浮點(diǎn)數(shù)的最值浮點(diǎn)數(shù)的最值 非規(guī)格化數(shù)據(jù)非規(guī)格化數(shù)據(jù)規(guī)格化數(shù)據(jù)規(guī)格化數(shù)據(jù) 真值真值機(jī)器數(shù)機(jī)器數(shù)機(jī)器數(shù)機(jī)器數(shù)真值真值 最小最小 負(fù)數(shù)負(fù)數(shù) 最大最大 負(fù)數(shù)負(fù)數(shù) 最小最小 正數(shù)正數(shù) 最大最大 正數(shù)正數(shù) 設(shè)浮點(diǎn)數(shù)格式為設(shè)浮點(diǎn)數(shù)格式為 1位階符位階符m位階碼位階碼1位數(shù)符位數(shù)符n位尾數(shù)位尾數(shù) 移碼表示移碼表示-2m,+(2m-1)補(bǔ)碼表示補(bǔ)碼

21、表示-1,+(1-2-n) -12+( 2m-1 ) -2-n2-2m +2-n2-2m +(1-2-n)2+(2m-1) 1 111;1 0000 0 000;1 1111 0 000;0 0001 1 111;0 1111 同左同左同左同左 0 000;1 0111 -(2-1+2-n)2-2m +2-12-2m 同左同左同左同左 0 000;0 1000 2021年6月22日星期二32 0 1 1 0 1 1 1 5 1 9 【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù)位(含符號位),階碼采用補(bǔ)碼表示,尾

22、數(shù) 采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。 l最大正數(shù)最大正數(shù) 最大正數(shù)為最大正數(shù)為0.11120111 即(即(12 9) )231 該浮點(diǎn)數(shù)即為該浮點(diǎn)數(shù)即為規(guī)格化規(guī)格化數(shù)形式;數(shù)形式; 2021年6月22日星期二33 【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù)位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù) 采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。 l 最小正數(shù)最小正數(shù) 非規(guī)格化數(shù)形式非規(guī)格化數(shù)形式 u最小正數(shù)為最小正數(shù)為0.0012100 u即即2

23、 9 2( (25)= 29 2-32 規(guī)格化數(shù)形式規(guī)格化數(shù)形式 u最小正數(shù)為最小正數(shù)為0.12100 u2 1 2( (25) 2 33 1 0 0 0 1 00 1 5 1 9 1 0 0 0 0 01 1 5 1 9 2021年6月22日星期二34 【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù)位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù) 采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。 l最小負(fù)數(shù)最小負(fù)數(shù) 最小負(fù)數(shù)為最小負(fù)數(shù)為0.112011 即(即(12 9) )2( (251)= (

24、 (12 9) ) 231 該浮點(diǎn)數(shù)即為該浮點(diǎn)數(shù)即為規(guī)格化規(guī)格化數(shù)形式;數(shù)形式; 0 1 1 1 1 1 1 m 1 n 2021年6月22日星期二35 【例例1】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù)位(含符號位),階碼采用補(bǔ)碼表示,尾數(shù) 采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。采用原碼表示,分析其浮點(diǎn)數(shù)表示范圍。 l 最大負(fù)數(shù)最大負(fù)數(shù) 非規(guī)格化數(shù)形式非規(guī)格化數(shù)形式 u最大負(fù)數(shù)為最大負(fù)數(shù)為0.0012100 u即即 2 9 2( (25)= 2 9 2-32 規(guī)格化數(shù)形式規(guī)格化數(shù)形式 u最大負(fù)數(shù)為最大負(fù)數(shù)為0. 12

25、100 u即即 2 1 2( (25)= 2-1 2 32 1 0 0 1 1 00 1 m 1 n 1 0 0 1 0 01 1 m 1 n 2021年6月22日星期二36 【例例2】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表 示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。 l 最大正數(shù)最大正數(shù) 階碼最大、尾數(shù)最大階碼最大、尾數(shù)最大 最大正數(shù)為最大正數(shù)為0.1112111 (12 9) )231 l 最小正數(shù)最小正數(shù) 最小正數(shù)為最小正數(shù)為0.10002 32 即

26、即2-322 1 2-33 注意:注意:不是不是 u因?yàn)橐驗(yàn)?.01 2-32不是規(guī)格化數(shù)。不是規(guī)格化數(shù)。 0 1 1 0 1 1 1 5 1 9 1 0 0 0 10 00 1 5 1 9 1 0 0 0 0 01 1 5 1 9 2021年6月22日星期二37 【例例2】設(shè)浮點(diǎn)數(shù)的階碼設(shè)浮點(diǎn)數(shù)的階碼6位(含符號位),尾數(shù)位(含符號位),尾數(shù) 為為10位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表位(含符號位),階碼和尾數(shù)均采用補(bǔ)碼表 示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。示,分析其規(guī)格化浮點(diǎn)數(shù)表示范圍。 l 最小的負(fù)數(shù)最小的負(fù)數(shù) 最小負(fù)數(shù)為最小負(fù)數(shù)為1.000231 即即231(1)= 231 l 最大

27、的負(fù)數(shù)最大的負(fù)數(shù) 最大負(fù)數(shù)為最大負(fù)數(shù)為0.10012 32 即(即( 2 9+ 21 ) )2 32 注意:因有規(guī)格化要求,不是注意:因有規(guī)格化要求,不是 0 1 1 1 0 0 1 5 1 9 1 0 0 1 0 1 1 1 5 1 9 1 0 0 1 1 1 1 1 5 1 9 2021年6月22日星期二38 浮點(diǎn)數(shù)的浮點(diǎn)數(shù)的IEEE754標(biāo)準(zhǔn)表示標(biāo)準(zhǔn)表示 lIEEE(Institute of Electrical and Electronics Engineers) 美國電氣及電子工程師學(xué)會美國電氣及電子工程師學(xué)會 IEEE是一家總部在美國的工程技術(shù)和電子專家的組織;是一家總部在美國的工

28、程技術(shù)和電子專家的組織; IEEE致力于電氣、電子、計算機(jī)工程和與科學(xué)有關(guān)的領(lǐng)域致力于電氣、電子、計算機(jī)工程和與科學(xué)有關(guān)的領(lǐng)域 的開發(fā)和研究,也是計算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)的主要制定者。的開發(fā)和研究,也是計算機(jī)網(wǎng)絡(luò)標(biāo)準(zhǔn)的主要制定者。 l為便于軟件移植,按照為便于軟件移植,按照 IEEE754 標(biāo)準(zhǔn),實(shí)際機(jī)器內(nèi)標(biāo)準(zhǔn),實(shí)際機(jī)器內(nèi)32位浮點(diǎn)位浮點(diǎn) 數(shù)和數(shù)和64位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式如下:位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式如下: 022233031 SEM 2323位尾數(shù),僅為數(shù)值部分位尾數(shù),僅為數(shù)值部分8 8位階碼,包括階符位階碼,包括階符1 1位數(shù)符位數(shù)符 3232位浮點(diǎn)數(shù)位浮點(diǎn)數(shù) 051526263 SEM 6464位浮點(diǎn)數(shù)位

29、浮點(diǎn)數(shù) 2021年6月22日星期二39 32位浮點(diǎn)數(shù)的位浮點(diǎn)數(shù)的IEEE754 標(biāo)準(zhǔn)表示標(biāo)準(zhǔn)表示 l數(shù)符數(shù)符S:表示浮點(diǎn)數(shù)的符號,占表示浮點(diǎn)數(shù)的符號,占1 1位,位,0 0正數(shù)、正數(shù)、1 1負(fù)數(shù);負(fù)數(shù); l尾數(shù)尾數(shù)M:2323位,原碼純小數(shù)表示,小數(shù)點(diǎn)在尾數(shù)域的最前面;位,原碼純小數(shù)表示,小數(shù)點(diǎn)在尾數(shù)域的最前面; 由于原碼表示的規(guī)格化浮點(diǎn)數(shù)要求,由于原碼表示的規(guī)格化浮點(diǎn)數(shù)要求,最高數(shù)值位始終為最高數(shù)值位始終為1,因,因 此該標(biāo)準(zhǔn)中隱藏最高數(shù)值位此該標(biāo)準(zhǔn)中隱藏最高數(shù)值位(1),尾數(shù)的實(shí)際值為,尾數(shù)的實(shí)際值為1.M; l階碼階碼E:8 8 位,采用有偏移值的移碼表示;位,采用有偏移值的移碼表示;

30、移移127碼,即碼,即E=e+127,E的的8位二進(jìn)制數(shù)即為移位二進(jìn)制數(shù)即為移127碼的編碼;碼的編碼; l浮點(diǎn)數(shù)的真值:浮點(diǎn)數(shù)的真值:N=(-1)S(1.M)2E-127 數(shù)符數(shù)符S階碼階碼E尾數(shù)尾數(shù)M 2021年6月22日星期二40 IEEE754 標(biāo)準(zhǔn)格式標(biāo)準(zhǔn)格式 (64位格式)位格式) 其真值表示為:其真值表示為: x=(1)S(1.M)2E 1023 e E1023 2021年6月22日星期二41 IEEE754 標(biāo)準(zhǔn)的數(shù)據(jù)表示標(biāo)準(zhǔn)的數(shù)據(jù)表示 lIEEE754 標(biāo)準(zhǔn)中的階碼標(biāo)準(zhǔn)中的階碼E 正零、負(fù)零正零、負(fù)零 uE與與M均為零,正負(fù)之分由數(shù)據(jù)符號確定;均為零,正負(fù)之分由數(shù)據(jù)符號確定;

31、 正無窮、負(fù)無窮正無窮、負(fù)無窮 uE為全為全1,M為全零,正負(fù)之分由數(shù)據(jù)符號確定;為全零,正負(fù)之分由數(shù)據(jù)符號確定; 階碼階碼E的其余值(的其余值(0000 00011111 1110)為規(guī)格化數(shù)據(jù);)為規(guī)格化數(shù)據(jù); u真正的指數(shù)真正的指數(shù)e的范圍為的范圍為-126+127 E=0000 0000,M=0000 0000 E=1111 1111,M=0000 0000 0000 0000 1111 1111 2021年6月22日星期二42 IEEE754 標(biāo)準(zhǔn)對特殊數(shù)據(jù)的表示標(biāo)準(zhǔn)對特殊數(shù)據(jù)的表示 符號位符號位S階碼階碼E尾數(shù)尾數(shù)M數(shù)值數(shù)值N 0/10=00 0/100(-1)S(0.M)2-12

32、6 0/112540(-1)S(1.M)2E-127 0/12550NaN(非數(shù)值)(非數(shù)值) 0/1255=0(-1)S(無窮大無窮大) 2021年6月22日星期二43 課本課本P18 例例1 l例例1 若浮點(diǎn)數(shù)的若浮點(diǎn)數(shù)的754標(biāo)準(zhǔn)存儲格式為標(biāo)準(zhǔn)存儲格式為(41360000)16,求其浮,求其浮 點(diǎn)數(shù)的十進(jìn)制數(shù)值。點(diǎn)數(shù)的十進(jìn)制數(shù)值。 l解:解: (41360000)16 = 0100 0001 0011 0110 0000 0000 0000 0000 指數(shù)指數(shù)e=E-127= 1000 0010 0111 1111=0000 0011=3 尾數(shù)尾數(shù)1.M=1.011 0110 0000

33、0000 0000 0000=1.011011 浮點(diǎn)數(shù)浮點(diǎn)數(shù) N =(-1)S(1.M)2e = (-1)0(1. 011011)23 = (11.375)10 數(shù)符數(shù)符S階碼階碼E尾數(shù)尾數(shù)M 2021年6月22日星期二44 課本課本P18 例例2 l例例2 將將(20.59375)10轉(zhuǎn)換成轉(zhuǎn)換成754標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制存位浮點(diǎn)數(shù)的二進(jìn)制存 儲格式。儲格式。 l解:解: (20.59375)10(10100.10011)2 將尾數(shù)規(guī)范為將尾數(shù)規(guī)范為1.M的形式:的形式: 10100.100111.01001001124 e 4 可得:可得:M 010010011 S 0 E 4

34、1271311000 0011 故,故,32位浮點(diǎn)數(shù)的位浮點(diǎn)數(shù)的754標(biāo)準(zhǔn)格式為:標(biāo)準(zhǔn)格式為: 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 2021年6月22日星期二45 單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù)單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù) l高級語言的高級語言的float、double使用的即是使用的即是IEEE754規(guī)定的格式。規(guī)定的格式。 lfloat :32位浮點(diǎn)值,也叫單精度浮點(diǎn)數(shù)(位浮點(diǎn)值,也叫單精度浮點(diǎn)數(shù)(4字節(jié)保存)字節(jié)保存) ldouble:64位浮點(diǎn)值,也叫雙精度浮點(diǎn)數(shù)(位浮點(diǎn)值,也叫雙精度浮點(diǎn)數(shù)(8字節(jié)保存)字節(jié)保存) l單精度

35、浮點(diǎn)數(shù)的例子:單精度浮點(diǎn)數(shù)的例子: 1位位 8位位 7位位 8位位 8位位 -1100 0.01 2021年6月22日星期二46 單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù)單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù) l除除0之外,之外,IEEE754標(biāo)準(zhǔn)中單精度浮點(diǎn)數(shù)所能表示的絕對值最標(biāo)準(zhǔn)中單精度浮點(diǎn)數(shù)所能表示的絕對值最 小的規(guī)格化浮點(diǎn)數(shù)的格式為:小的規(guī)格化浮點(diǎn)數(shù)的格式為: S 0000 0001 00000000000000000000000 lV=(-1)S2-126(1.M)= (-1)S2-126(1+0.000) l除除之外,之外,IEEE754標(biāo)準(zhǔn)中單精度浮點(diǎn)數(shù)所能表示的絕對值標(biāo)準(zhǔn)中單精度浮點(diǎn)數(shù)所能表示的絕對值

36、最大的規(guī)格化浮點(diǎn)數(shù)的格式為:最大的規(guī)格化浮點(diǎn)數(shù)的格式為: S 1111 1110 11111111111111111111111 lV=(-1)S2+127(1.M)= (-1)S2-126(1+1.111) 2021年6月22日星期二47 求解技巧求解技巧 l例如:將下列十進(jìn)制數(shù)表示成例如:將下列十進(jìn)制數(shù)表示成IEEE754格式的格式的32位浮點(diǎn)數(shù)二進(jìn)位浮點(diǎn)數(shù)二進(jìn) 制存儲形式。制存儲形式。 27/32 11/512 l求解:求解: 27/32=27*(1/32) = (0001 1011)2*2-5 u尾數(shù):尾數(shù):1.1011 ;階碼:階碼:e=-5+4=-1 ,E=e+127=126 uI

37、EEE754數(shù)據(jù):數(shù)據(jù):0 0111 1110 1011 0000 0000 0000 0000 000 11/512= (0000 1011)2*2-9 u尾數(shù):尾數(shù):1.011;階碼:階碼:e=-9+3=-6 ,E=e+127=121 uIEEE754數(shù)據(jù):數(shù)據(jù):0 0111 1001 0110 0000 0000 0000 0000 00 2021年6月22日星期二48 例:將十進(jìn)制數(shù)例:將十進(jìn)制數(shù)-54表示成表示成二進(jìn)制定點(diǎn)數(shù)二進(jìn)制定點(diǎn)數(shù)(16位位)和和浮點(diǎn)數(shù)浮點(diǎn)數(shù) (16位,其中數(shù)值部分位,其中數(shù)值部分10位,階碼部分位,階碼部分4位,階符和數(shù)符各位,階符和數(shù)符各 取取1位位),并寫

38、出它在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。,并寫出它在定點(diǎn)機(jī)和浮點(diǎn)機(jī)中的機(jī)器數(shù)形式。 l令令 x = -54,則,則x = -110110 l16位定點(diǎn)數(shù)真值表示:位定點(diǎn)數(shù)真值表示: x = -000 0000 0011 0110 定點(diǎn)機(jī)器數(shù)形式定點(diǎn)機(jī)器數(shù)形式 x原 原: : x補(bǔ) 補(bǔ): : l浮點(diǎn)數(shù)規(guī)格化表示:浮點(diǎn)數(shù)規(guī)格化表示:x = -(0.1101100000)2110 浮點(diǎn)機(jī)器數(shù)形式浮點(diǎn)機(jī)器數(shù)形式 x原 原: : x補(bǔ) 補(bǔ): : 非非IEEE754 標(biāo)準(zhǔn)標(biāo)準(zhǔn) 1 000 0000 0011 0110 1 111 1111 1100 1010 0 0110 ; 1 11 0110 0000 0

39、 0110 ; 1 00 1010 0000 2021年6月22日星期二49 最大正數(shù):最大正數(shù): x=1+(1-2-23) 2127 最小正數(shù):最小正數(shù): x=1.0 2-128 最小負(fù)數(shù):最小負(fù)數(shù): x=-1+(1-2-23) 2127 最大負(fù)數(shù):最大負(fù)數(shù): x=-1.0 2-128 課本課本P23例例9 假設(shè)一個假設(shè)一個32位非零規(guī)格化位非零規(guī)格化 浮點(diǎn)數(shù)浮點(diǎn)數(shù),真值表示為:,真值表示為: 問:它所表示的問:它所表示的規(guī)格化的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、 最小負(fù)數(shù)是多少?(尾數(shù)用原碼表示)最小負(fù)數(shù)是多少?(尾數(shù)用原碼表示) 數(shù)符數(shù)符階碼階碼尾數(shù)尾數(shù)

40、01111 1111 1111 1111 1111 1111111 1111 數(shù)符數(shù)符階碼階碼尾數(shù)尾數(shù)00000 0000 0000 0000 0000 0000000 0000 數(shù)符數(shù)符階碼階碼尾數(shù)尾數(shù)11111 1111 1111 1111 1111 1111111 1111 數(shù)符數(shù)符階碼階碼尾數(shù)尾數(shù)10000 0000 0000 0000 0000 0000000 0000 2021年6月22日星期二50 浙江大學(xué)考研試題浙江大學(xué)考研試題 計算機(jī)儲存程序的特點(diǎn)之一是把數(shù)據(jù)和指令都作為二進(jìn)制信號計算機(jī)儲存程序的特點(diǎn)之一是把數(shù)據(jù)和指令都作為二進(jìn)制信號 看待。今有一計算機(jī)字長看待。今有一計算機(jī)

41、字長32bit,數(shù)符位是第,數(shù)符位是第31bit;單精度??;單精度浮 點(diǎn)數(shù)格式如圖所示。點(diǎn)數(shù)格式如圖所示。 對于二進(jìn)制數(shù)對于二進(jìn)制數(shù)1000 1111 1110 1111 1100 0000 0000 0000 表示一個補(bǔ)碼整數(shù),其十進(jìn)制值是多少?表示一個補(bǔ)碼整數(shù),其十進(jìn)制值是多少? 表示一個無符號整數(shù),其十進(jìn)制值是多少?表示一個無符號整數(shù),其十進(jìn)制值是多少? 表示一個表示一個IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù),其值是多少?標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù),其值是多少? 8位位23位位1 31 30 23 22 0 2021年6月22日星期二51 二進(jìn)制數(shù)二進(jìn)制數(shù)1000 1111 1110 1111 110

42、0 0000 0000 0000 表示一個補(bǔ)碼整數(shù),其十進(jìn)制值是多少?表示一個補(bǔ)碼整數(shù),其十進(jìn)制值是多少? n作為補(bǔ)碼整數(shù),其對應(yīng)的原碼是作為補(bǔ)碼整數(shù),其對應(yīng)的原碼是 1111 0000 0001 0000 0100 0000 0000 0000 n十進(jìn)制值是十進(jìn)制值是 -(230+ 229 +228 + 220 + 214 ) 表示一個無符號整數(shù),其十進(jìn)制值是多少?表示一個無符號整數(shù),其十進(jìn)制值是多少? n作為無符號整數(shù),其十進(jìn)制值是作為無符號整數(shù),其十進(jìn)制值是 231+ 227+ 226 +225 + 224 + 223+ 222 +221 + 219 +218 + 217 +216 +

43、215 +214 2021年6月22日星期二52 二進(jìn)制數(shù)二進(jìn)制數(shù)1000 1111 1110 1111 1100 0000 0000 0000 作為作為IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù)標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù) n階碼階碼E是是0001 1111 n指數(shù)指數(shù)e階碼階碼E1270001 11110111 1111 -1100000B-96D n尾數(shù)尾數(shù)M=110 1111 1100 0000 0000 0000 n則則1.M =1. 110 1111 1100 0000 0000 0000 =1.110 1111 11 單精度浮點(diǎn)數(shù)值為:單精度浮點(diǎn)數(shù)值為: X (-1)s1.M2e-(1.110 11

44、11 11)2-96 -(0.1110 1111 11)2-95 -(1416-11516-21216-3)2-95 -0.31152-95 2021年6月22日星期二53 2009考研真題考研真題 12.一個一個C語言程序在一臺語言程序在一臺32位機(jī)器上運(yùn)行。程序中定義了三個位機(jī)器上運(yùn)行。程序中定義了三個 變量變量x,y和和z,其中,其中x和和z是是int型,型,y為為short型。當(dāng)型。當(dāng)x=127, y=-9時,執(zhí)行賦值語句時,執(zhí)行賦值語句z=x+y后,后,x、y和和z的值分別是:的值分別是: A.x=0000007FH , y=FFF9H , z=00000076H B.x=00000

45、07FH , y=FFF9H , z=FFFF0076H C.x=0000007FH , y=FFF7H , z=FFFF0076H D.x=0000007FH , y=FFF7H , z=00000076H 2021年6月22日星期二54 2010考研真題考研真題 l14.假定變量假定變量i,f,d數(shù)據(jù)類型分別為數(shù)據(jù)類型分別為int, float, double(int用補(bǔ)用補(bǔ) 碼表示,碼表示,float和和double用用IEEE754單精度和雙精度浮點(diǎn)數(shù)據(jù)格單精度和雙精度浮點(diǎn)數(shù)據(jù)格 式表示式表示),已知,已知i=785,f=1.5678e3,d=1.5e100,若在,若在32位機(jī)位機(jī) 器

46、中執(zhí)行下列關(guān)系表達(dá)式,則結(jié)果為真的是器中執(zhí)行下列關(guān)系表達(dá)式,則結(jié)果為真的是() (I) i=(int)(float)i (II)f=(float)(int)f (III)f=(float)(double)f (IV)(d+f)-d=f l A. 僅僅I和和II B. 僅僅I和和III l C. 僅僅II和和III D. 僅僅III和和IV 關(guān)鍵是關(guān)鍵是“=” 兩端的數(shù)據(jù)類兩端的數(shù)據(jù)類 型是否一致!型是否一致! 2021年6月22日星期二55 2.1.1數(shù)據(jù)格式數(shù)據(jù)格式十進(jìn)制數(shù)串的表示方法十進(jìn)制數(shù)串的表示方法 l字符串形式字符串形式 每個十進(jìn)制每個十進(jìn)制數(shù)位數(shù)位占用一個字節(jié);占用一個字節(jié); 除保

47、存各數(shù)位,還需要指明該數(shù)存放的起始地址和總位數(shù);除保存各數(shù)位,還需要指明該數(shù)存放的起始地址和總位數(shù); 主要用于非數(shù)值計算的應(yīng)用領(lǐng)域。主要用于非數(shù)值計算的應(yīng)用領(lǐng)域。 l壓縮的十進(jìn)制數(shù)串形式壓縮的十進(jìn)制數(shù)串形式 采用采用BCD碼表示,一個字節(jié)可存放兩個十進(jìn)制數(shù)位;碼表示,一個字節(jié)可存放兩個十進(jìn)制數(shù)位; 節(jié)省存儲空間,便于直接完成十進(jìn)制數(shù)的算術(shù)運(yùn)算;節(jié)省存儲空間,便于直接完成十進(jìn)制數(shù)的算術(shù)運(yùn)算; 用特殊的二進(jìn)制編碼表示數(shù)據(jù)正負(fù),如用特殊的二進(jìn)制編碼表示數(shù)據(jù)正負(fù),如1100正、正、1101負(fù)負(fù) 2021年6月22日星期二56 2.1.3 字符與字符串的表示方法字符與字符串的表示方法 lASCII碼碼(

48、美國國家信息交換標(biāo)準(zhǔn)字符碼美國國家信息交換標(biāo)準(zhǔn)字符碼) 包括包括128個字符,共需個字符,共需7位編碼;位編碼; ASCII碼規(guī)定:最高位為碼規(guī)定:最高位為0,余下,余下7位作為位作為128個字符的編碼。個字符的編碼。 最高位的作用:奇偶校驗(yàn);擴(kuò)展編碼。最高位的作用:奇偶校驗(yàn);擴(kuò)展編碼。 l字符串字符串 指連續(xù)的一串字符,指連續(xù)的一串字符, 每個字節(jié)存一個字符。每個字節(jié)存一個字符。 當(dāng)存儲字長為當(dāng)存儲字長為2、或、或4個字節(jié)時,在同一個存儲單元中個字節(jié)時,在同一個存儲單元中; u可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容; u或按從高位字節(jié)向低

49、位字節(jié)的次序順序存放字符串的內(nèi)容?;虬磸母呶蛔止?jié)向低位字節(jié)的次序順序存放字符串的內(nèi)容。 2021年6月22日星期二57 2.1.4 漢字的表示方法漢字的表示方法 l漢字的輸入編碼漢字的輸入編碼 目的:直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計算機(jī)目的:直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計算機(jī) 。 分類:主要有數(shù)字編碼、拼音碼分類:主要有數(shù)字編碼、拼音碼 、字形編碼三類。、字形編碼三類。 l漢字內(nèi)碼漢字內(nèi)碼 用于漢字信息的存儲、交換、檢索等操作的機(jī)內(nèi)代碼用于漢字信息的存儲、交換、檢索等操作的機(jī)內(nèi)代碼 l漢字字模碼漢字字模碼 用點(diǎn)陣表示的漢字字形代碼,用于漢字的輸出。用點(diǎn)陣表示的漢字字形代碼,用于漢字的輸出

50、。 2021年6月22日星期二58 顯示輸出顯示輸出打印輸出打印輸出 機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼向字形碼轉(zhuǎn)換 機(jī)內(nèi)碼機(jī)內(nèi)碼 輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換 中文編碼中文編碼 字符代碼化(輸入)字符代碼化(輸入) 數(shù)字碼數(shù)字碼 拼音碼拼音碼 字形碼字形碼 2021年6月22日星期二59 漢字字模碼漢字字模碼 精密型精密型4848 4848288288 提高型提高型3232 3232 128128 普及型普及型2424 2424 7272 簡易型簡易型1616 16163232 漢字點(diǎn)陣類型漢字點(diǎn)陣類型點(diǎn)陣點(diǎn)陣占用字節(jié)數(shù)占用字節(jié)數(shù) 2021年6月22日星期二60 2.1.5 校驗(yàn)碼(數(shù)據(jù)校驗(yàn))

51、校驗(yàn)碼(數(shù)據(jù)校驗(yàn)) l數(shù)據(jù)校驗(yàn)原因數(shù)據(jù)校驗(yàn)原因 為減少和避免數(shù)據(jù)在計算機(jī)系統(tǒng)運(yùn)行或傳送過程中發(fā)生錯為減少和避免數(shù)據(jù)在計算機(jī)系統(tǒng)運(yùn)行或傳送過程中發(fā)生錯 誤,在數(shù)據(jù)的編碼上提供了檢錯和糾錯的支持。誤,在數(shù)據(jù)的編碼上提供了檢錯和糾錯的支持。 l數(shù)據(jù)校驗(yàn)碼的定義數(shù)據(jù)校驗(yàn)碼的定義 能夠發(fā)現(xiàn)某些錯誤或具有自動糾錯能力的數(shù)據(jù)編碼;能夠發(fā)現(xiàn)某些錯誤或具有自動糾錯能力的數(shù)據(jù)編碼; 也稱檢錯碼;也稱檢錯碼; l數(shù)據(jù)校驗(yàn)的基本原理是數(shù)據(jù)校驗(yàn)的基本原理是擴(kuò)大碼距擴(kuò)大碼距; 碼距碼距:任意任意兩個合法碼之間不同的二進(jìn)制位的兩個合法碼之間不同的二進(jìn)制位的最少位數(shù)最少位數(shù); 僅有一位不同時,稱其碼距為僅有一位不同時,稱其碼

52、距為1。 2021年6月22日星期二61 碼距及作用碼距及作用 l設(shè)用四位二進(jìn)制表示設(shè)用四位二進(jìn)制表示16種狀態(tài)種狀態(tài) 16種編碼都用到了,此時碼距為種編碼都用到了,此時碼距為1; 任何一種狀態(tài)的四位碼中的一位或幾位出錯,就變成另一任何一種狀態(tài)的四位碼中的一位或幾位出錯,就變成另一 個合法碼;個合法碼; 無查錯能力。無查錯能力。 l若用四位二進(jìn)制表示若用四位二進(jìn)制表示8個狀態(tài)個狀態(tài) 只用其中的只用其中的8種編碼,而把另種編碼,而把另8種編碼作為非法編碼;種編碼作為非法編碼; 可使碼距擴(kuò)大為可使碼距擴(kuò)大為2; u注意:并不是任選注意:并不是任選8種編碼都可擴(kuò)大碼距;種編碼都可擴(kuò)大碼距; 2021

53、年6月22日星期二62 校驗(yàn)碼的類型校驗(yàn)碼的類型 l奇偶校驗(yàn)碼奇偶校驗(yàn)碼 判斷數(shù)據(jù)中判斷數(shù)據(jù)中1的個數(shù)設(shè)置的個數(shù)設(shè)置1位校驗(yàn)位;位校驗(yàn)位; 分奇校驗(yàn)和偶校驗(yàn)兩種,只能檢錯,無糾錯能力;分奇校驗(yàn)和偶校驗(yàn)兩種,只能檢錯,無糾錯能力; l海明校驗(yàn)碼海明校驗(yàn)碼 在奇偶校驗(yàn)的基礎(chǔ)上增加校驗(yàn)位而得;在奇偶校驗(yàn)的基礎(chǔ)上增加校驗(yàn)位而得; 具有檢錯和糾錯的能力;具有檢錯和糾錯的能力; l循環(huán)冗余校驗(yàn)碼(循環(huán)冗余校驗(yàn)碼(CRC) 通過模通過模2的除法運(yùn)算建立數(shù)據(jù)信息和校驗(yàn)位之間的約定關(guān)系;的除法運(yùn)算建立數(shù)據(jù)信息和校驗(yàn)位之間的約定關(guān)系; 具有很強(qiáng)的檢錯糾錯能力。具有很強(qiáng)的檢錯糾錯能力。 2021年6月22日星期二6

54、3 奇偶校驗(yàn)碼奇偶校驗(yàn)碼概念概念 l奇偶校驗(yàn)原理奇偶校驗(yàn)原理 在數(shù)據(jù)中增加在數(shù)據(jù)中增加1個冗余位,使碼距由個冗余位,使碼距由1增加到增加到2; 如果合法編碼中有奇數(shù)個位發(fā)生了錯誤,就將成為非法代碼。如果合法編碼中有奇數(shù)個位發(fā)生了錯誤,就將成為非法代碼。 增加的冗余位稱為奇偶校驗(yàn)位。增加的冗余位稱為奇偶校驗(yàn)位。 l校驗(yàn)的類型校驗(yàn)的類型 偶校驗(yàn):每個碼字偶校驗(yàn):每個碼字(包括校驗(yàn)位包括校驗(yàn)位)中中1的數(shù)目為偶數(shù)。的數(shù)目為偶數(shù)。 奇校驗(yàn):每個碼字奇校驗(yàn):每個碼字(包括校驗(yàn)位包括校驗(yàn)位)中中1的數(shù)目為奇數(shù)。的數(shù)目為奇數(shù)。 l校驗(yàn)過程校驗(yàn)過程 發(fā)送端:按照校驗(yàn)類型,在發(fā)送數(shù)據(jù)后添加校驗(yàn)位發(fā)送端:按照校驗(yàn)

55、類型,在發(fā)送數(shù)據(jù)后添加校驗(yàn)位P; 接收端:對接收到的數(shù)據(jù)(包括校驗(yàn)位)進(jìn)行接收端:對接收到的數(shù)據(jù)(包括校驗(yàn)位)進(jìn)行同樣類型的校同樣類型的校 驗(yàn)驗(yàn),決定數(shù)據(jù)傳輸中是否存在錯誤;,決定數(shù)據(jù)傳輸中是否存在錯誤; 2021年6月22日星期二64 奇偶校驗(yàn)碼奇偶校驗(yàn)碼校驗(yàn)原理校驗(yàn)原理 l偶校驗(yàn):在接收端求校驗(yàn)位偶校驗(yàn):在接收端求校驗(yàn)位 P=D7 D6 D5 D4 D3 D2 D1 D0 P 若若P0,則無錯;若,則無錯;若P1,則有錯。,則有錯。 l奇校驗(yàn):在接收端求校驗(yàn)位奇校驗(yàn):在接收端求校驗(yàn)位 P=D7 D6 D5 D4 D3 D2 D1 D0 P 若若P1,則無錯;若,則無錯;若P0,則有錯。,則

56、有錯。 l電路實(shí)現(xiàn):電路實(shí)現(xiàn): 一般采用異或電路得到校驗(yàn)位。一般采用異或電路得到校驗(yàn)位。 1010 1011 求校驗(yàn)碼求校驗(yàn)碼 偶校驗(yàn)碼偶校驗(yàn)碼 1010 1011 1 奇校驗(yàn)碼奇校驗(yàn)碼 1010 1011 0 2021年6月22日星期二65 接收端接收端 字字校驗(yàn)位校驗(yàn)位 校驗(yàn)碼校驗(yàn)碼 例例1: 數(shù)據(jù)數(shù)據(jù) 0010 0001 奇校驗(yàn)碼奇校驗(yàn)碼 0010 0001 1 偶校驗(yàn)碼偶校驗(yàn)碼 0010 0001 0 例例2:數(shù)據(jù):數(shù)據(jù) : 0111 0101 偶校驗(yàn)碼偶校驗(yàn)碼 0111 0101 1 發(fā)送端發(fā)送端(門電路)(門電路) 0110 0101 1 出錯!出錯! 奇偶校驗(yàn)碼奇偶校驗(yàn)碼 例題(

57、例題(1/2) 2021年6月22日星期二66 例例3:數(shù)據(jù):數(shù)據(jù) : 0111 0101 奇校驗(yàn)碼奇校驗(yàn)碼 0111 0101 0 發(fā)送端發(fā)送端 (門電路)(門電路) 0110 0111 0 接收端接收端 正確正確 奇偶校驗(yàn)只能發(fā)現(xiàn)奇偶校驗(yàn)只能發(fā)現(xiàn) 奇數(shù)個錯誤,且不能奇數(shù)個錯誤,且不能 糾正錯誤!糾正錯誤! 奇偶校驗(yàn)碼奇偶校驗(yàn)碼例題(例題(1/2) 2021年6月22日星期二67 海明碼海明碼 l海明碼是海明碼是1950年提出的;年提出的; 只要增加少數(shù)的幾位校驗(yàn)碼,即可檢測出多位出錯,并能自只要增加少數(shù)的幾位校驗(yàn)碼,即可檢測出多位出錯,并能自 動恢復(fù)一或幾位出錯信息;動恢復(fù)一或幾位出錯信息

58、; l實(shí)現(xiàn)原理:實(shí)現(xiàn)原理: 在一個數(shù)據(jù)中加入幾個校驗(yàn)位,在一個數(shù)據(jù)中加入幾個校驗(yàn)位,每個校驗(yàn)位和某幾個特定的每個校驗(yàn)位和某幾個特定的 信息位信息位構(gòu)成偶校驗(yàn)的關(guān)系;構(gòu)成偶校驗(yàn)的關(guān)系; 接收端對每個偶關(guān)系進(jìn)行校驗(yàn),產(chǎn)生校驗(yàn)因子;接收端對每個偶關(guān)系進(jìn)行校驗(yàn),產(chǎn)生校驗(yàn)因子; 通過通過校正因子校正因子區(qū)分區(qū)分無錯無錯和碼字中的和碼字中的n個不同位置的錯誤個不同位置的錯誤; u不同代碼位上的錯誤會得出不同的校驗(yàn)結(jié)果;不同代碼位上的錯誤會得出不同的校驗(yàn)結(jié)果; 2021年6月22日星期二68 海明碼海明碼確定校驗(yàn)位的位數(shù)確定校驗(yàn)位的位數(shù) l設(shè)設(shè)K為有效信息的位數(shù),為有效信息的位數(shù),r為校驗(yàn)位的位數(shù),則整個碼

59、字的位數(shù)為校驗(yàn)位的位數(shù),則整個碼字的位數(shù) N應(yīng)滿足不等式:應(yīng)滿足不等式: NKr2r1 通常稱為(通常稱為(N,K)海明碼)海明碼 l設(shè)某設(shè)某(7,4)海明碼表示的碼字長度為海明碼表示的碼字長度為 位,校驗(yàn)位數(shù)為位,校驗(yàn)位數(shù)為 位。位。 l例如:數(shù)據(jù)例如:數(shù)據(jù)D3D2D1D0 =1001 K=4,r+5 2r ; 可知,需要校驗(yàn)位可知,需要校驗(yàn)位3位位P3P2P1 ; 73 2021年6月22日星期二69 海明碼海明碼確定校驗(yàn)位的位置確定校驗(yàn)位的位置 l數(shù)據(jù)表示數(shù)據(jù)表示 數(shù)據(jù)位數(shù)據(jù)位D(DiDi-1D1D0) 、校驗(yàn)位、校驗(yàn)位P(PjPj-1P2P1) 海明碼海明碼H (包括數(shù)據(jù)位和校驗(yàn)位):

60、(包括數(shù)據(jù)位和校驗(yàn)位):HmHm-1H2H1; l分組原則分組原則 每個校驗(yàn)位每個校驗(yàn)位Pi從低到高被分在海明碼中位號從低到高被分在海明碼中位號2i-1的位置;的位置; l例如:數(shù)據(jù)例如:數(shù)據(jù)D3D2D1D0 =1001,校驗(yàn)位,校驗(yàn)位P3P2P1 海明碼共海明碼共7位位H7H6H2H1 ,各位分配如下:,各位分配如下: H7H6H5H4H3H2H1 P1 P2 P3 D0 D1 D2 D3 2021年6月22日星期二70 海明碼海明碼校驗(yàn)分組校驗(yàn)分組 l校驗(yàn)原則校驗(yàn)原則 海明碼的每一位海明碼的每一位Hi有多個校驗(yàn)位校驗(yàn),其關(guān)系是有多個校驗(yàn)位校驗(yàn),其關(guān)系是被校驗(yàn)的每被校驗(yàn)的每 一位位號一位位號

溫馨提示

  • 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

提交評論