計算機組成原理 ch2 運算方法與運算器_第1頁
計算機組成原理 ch2 運算方法與運算器_第2頁
計算機組成原理 ch2 運算方法與運算器_第3頁
計算機組成原理 ch2 運算方法與運算器_第4頁
計算機組成原理 ch2 運算方法與運算器_第5頁
已閱讀5頁,還剩175頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Nanjing University of Information Science ; 2.2. 原碼、補碼、反碼、移碼等碼制之間的關(guān)系以及各原碼、補碼、反碼、移碼等碼制之間的關(guān)系以及各 碼制之間真值數(shù)的轉(zhuǎn)換;碼制之間真值數(shù)的轉(zhuǎn)換; 3.3. 補碼的加減運算,定點原碼一位乘、除運算,定點補碼的加減運算,定點原碼一位乘、除運算,定點 補碼一位乘、除運算及其邏輯結(jié)構(gòu);補碼一位乘、除運算及其邏輯結(jié)構(gòu); 4.4. 變形補碼、運算方法(尤其是補碼)的理解,溢出、變形補碼、運算方法(尤其是補碼)的理解,溢出、 進位等問題的出現(xiàn)和解決方法;進位等問題的出現(xiàn)和解決方法; 5.5. 定點數(shù)的變形補碼加減運算;定

2、點數(shù)的變形補碼加減運算; 6.6. 原、補碼乘法和除法運算;原、補碼乘法和除法運算; 7.7. 浮點運算方法和浮點數(shù)的規(guī)格化及其邏輯結(jié)構(gòu);浮點運算方法和浮點數(shù)的規(guī)格化及其邏輯結(jié)構(gòu); 8.8. 運算器的基本結(jié)構(gòu)和設計方法,解已知芯片功能。運算器的基本結(jié)構(gòu)和設計方法,解已知芯片功能。 本章要求:本章要求: Nanjing University of Information Science & Technology, Computer and Software Institute 主要內(nèi)容:主要內(nèi)容: n2.1 2.1 數(shù)據(jù)與文字的表示方法。數(shù)據(jù)與文字的表示方法。 n2.2 2.2 定點加、減法運算

3、。定點加、減法運算。 n2.3 2.3 定點乘法運算。定點乘法運算。 n2.6 2.6 浮點運算方法與浮點運算器。浮點運算方法與浮點運算器。 n2.5 2.5 定點運算器的組成與結(jié)構(gòu)定點運算器的組成與結(jié)構(gòu) n2.4 2.4 定點除法運算。定點除法運算。 Nanjing University of Information Science & Technology, Computer and Software Institute 2.1 2.1 數(shù)據(jù)信息的表示方法數(shù)據(jù)信息的表示方法 2.1.1 數(shù)據(jù)數(shù)值的表示方法 2.1.2 非數(shù)據(jù)數(shù)值的表示方法 Nanjing University of Inf

4、ormation Science & Technology, Computer and Software Institute 2.1.1 2.1.1 數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示 正、負符號正、負符號二進制的絕對值二進制的絕對值 真值 機器數(shù)0 0 或或1 1二進制的絕對值二進制的絕對值 符號 數(shù)值部分 n真值與機器數(shù)真值與機器數(shù) Nanjing University of Information Science & Technology, Computer and Software Institute 真值與機器數(shù)真值與機器數(shù) 例:設機器字為例:設機器字為8b8b字長,字長, 數(shù)數(shù)N N1

5、1的真值為(的真值為(+1001110+1001110)2 2, 數(shù)數(shù)N N2 2的真值為(的真值為(-1001110-1001110)2 2, 則則N N1 1 、N N2 2對應的機器數(shù)為:對應的機器數(shù)為: 0 0 N N1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 N N2 2 符號 數(shù)值部分 Nanjing University of Information Science & Technology, Computer and Software Institute 2.2.數(shù)的機器碼表示數(shù)的機器碼表示 n

6、通常有四種表示法:通常有四種表示法: 原碼表示法原碼表示法 補碼表示法補碼表示法 反碼表示法反碼表示法 移碼表示法移碼表示法 Nanjing University of Information Science & Technology, Computer and Software Institute (1)原碼表示法)原碼表示法 0 0 或或1 1二進制的絕對值二進制的絕對值 n純小數(shù)原碼表示定義純小數(shù)原碼表示定義 n純整數(shù)原碼表示定義純整數(shù)原碼表示定義 原碼 Nanjing University of Information Science & Technology, Computer an

7、d Software Institute 純小數(shù)原碼表示定義 n純小數(shù)時,設純小數(shù)時,設 x=xx=x0 0. x. x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0為符為符 號位,共號位,共n n位字長,則位字長,則 X 0X 1-2-(n-1) 1-X =1+|x| -(1-2-(n-1) ) X 0 X原 原 = n例如,若例如,若x1=+0.1011 x2=-0.1011x1=+0.1011 x2=-0.1011, 字長為字長為8b8b, 則其原碼分別為:則其原碼分別為: x1x1原 原=0.1011000 =0.1011000 x2x2原 原=1 + 0.10

8、11000 =1.1011000 =1 + 0.1011000 =1.1011000 n零的原碼有正零和負零兩種形式:零的原碼有正零和負零兩種形式: +0原 原=0.00 00 -0原 原 =1.00 00 Nanjing University of Information Science & Technology, Computer and Software Institute 純整數(shù)原碼表示定義 n純整數(shù)時,設純整數(shù)時,設 x=xx=x0 0 x x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0為符號為符號 位,共位,共n n位字長,則位字長,則 X 0X 2(n-

9、1) -1 2(n-1) -X = 2(n-1) +|x| -(2(n-1) - 1) X 0 X原 原 = n例如,若例如,若x1=+1011 x2=-1011, 字長為字長為8b,則其,則其 原碼分別為:原碼分別為: x1原 原=00001011 x2原 原= 27+ 00001011 =10001011 n零的原碼有正零和負零兩種形式:零的原碼有正零和負零兩種形式: +0原 原=000 00 -0原 原 =100 00 Nanjing University of Information Science & Technology, Computer and Software Institu

10、te 采用原碼表示法簡單易懂,但它的最大缺采用原碼表示法簡單易懂,但它的最大缺 點是加法運算復雜。點是加法運算復雜。 當兩數(shù)相加時,如果是同號則數(shù)值相加;當兩數(shù)相加時,如果是同號則數(shù)值相加; 如果是異號,則要進行減法。而在進行如果是異號,則要進行減法。而在進行 減法時還要比較絕對值的大小,然后大減法時還要比較絕對值的大小,然后大 數(shù)減去小數(shù),最后還要給結(jié)果選擇符號。數(shù)減去小數(shù),最后還要給結(jié)果選擇符號。 Nanjing University of Information Science & Technology, Computer and Software Institute (2)補碼表示法補

11、碼表示法 計算機中,運算結(jié)果模數(shù)時,說明該值已超出 機器的表示范圍,模數(shù)自然丟掉。 模/模數(shù):計算器具的容量。 計算機中,機器數(shù)表示數(shù)據(jù)的字長即位數(shù)是固定的。 n位數(shù)的模數(shù)= n位數(shù)全為1后,再在最末位加1 n位整數(shù)的模數(shù)=2n n位小數(shù)的模數(shù)=2 Nanjing University of Information Science & Technology, Computer and Software Institute 純小數(shù)補碼表示定義 n純小數(shù)時,設純小數(shù)時,設 x=xx=x0 0. x. x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0為符為符 號位,共號位,共

12、n n位字長,則位字長,則 X 0X 1-2-(n-1) 2+X =2-|x| -1 X 0 X補 補 = n例如,若例如,若x1=+0.1011 x2=-0.1011, 字長為字長為8b,則,則 其原碼分別為:其原碼分別為: x1補 補=0.1011000 x2補 補=2 - 0.1011000 =1.0101000 n補碼的零只有一個,即補碼的零只有一個,即0.0000000。 n補碼補碼1.0000000表示負表示負1 (mod 2) Nanjing University of Information Science & Technology, Computer and Software

13、 Institute 純整數(shù)補碼表示定義 n純整數(shù)時,設純整數(shù)時,設 x=xx=x0 0 x x1 1 x x2 2 x xn-1 n-1 ,其中 ,其中x x0 0為符號為符號 位,共位,共n n位字長,則位字長,則 X 0X 2(n-1) -1 2n +X = 2n -|x| -2(n-1) X 0 X補 補 = n例如,若例如,若x1=+1011 x2=-1011, 字長為字長為8b,則其,則其 原碼分別為:原碼分別為: x1補 補=00001011 x2補 補= 28-00001011 =11110100 (mod 2n) Nanjing University of Informati

14、on Science & Technology, Computer and Software Institute n 對補碼進行運算,可將加、減運算統(tǒng)一成加法運對補碼進行運算,可將加、減運算統(tǒng)一成加法運 算,降低了對計算機運算器的要求,因此得到廣算,降低了對計算機運算器的要求,因此得到廣 泛的應用。泛的應用。 n原碼求補碼的方法:原碼求補碼的方法: 正數(shù),不變(相同)即原碼正數(shù),不變(相同)即原碼=補碼;補碼; 負數(shù),符號位不變,數(shù)值位按位取反加負數(shù),符號位不變,數(shù)值位按位取反加1。 n補碼求真值方法:補碼求真值方法: 正數(shù),正數(shù), x補 補= x原原 負數(shù),對負數(shù),對 x補 補補補= x原原

15、 原碼求真值:原碼求真值:x原 原符號位 符號位0+,1 。 n補碼的運算結(jié)果仍為補碼。補碼的運算結(jié)果仍為補碼。 Nanjing University of Information Science & Technology, Computer and Software Institute (3)反碼表示法反碼表示法 n對于對于正數(shù)正數(shù)來說,來說,反碼反碼=原碼原碼=補碼補碼。 n對于對于負數(shù)負數(shù)來說,來說, 符號位:與原碼、補碼的符號位定義相同。符號位:與原碼、補碼的符號位定義相同。 數(shù)值:將原碼的數(shù)值位按位變反。數(shù)值:將原碼的數(shù)值位按位變反。 n例如,若例如,若x1=+0.1011 x2=-

16、0.1011, 字長為字長為8b。 x1反 反=0.1011000= x1原原= x1補補 x2反 反=1.0100111 x2補 補=1.0101000 x2原 原=1.1011000 n反碼的零有兩個反碼的零有兩個0.0000和和1.11111 Nanjing University of Information Science & Technology, Computer and Software Institute (4)移碼移碼 n移碼也叫增碼,常用來表示移碼也叫增碼,常用來表示整數(shù)整數(shù)形式的形式的 計算機計算機浮點數(shù)的階碼浮點數(shù)的階碼(表示指數(shù))。(表示指數(shù))。 n若純整數(shù)若純整數(shù)X

17、 X為為n n位(包括符號位),則其位(包括符號位),則其 移碼定義為:移碼定義為: xx移 移=2 =2n-1 n-1+x +x補 補 -2 -2n-1 n-1X2 X2n-1 n-1-1 -1 n方法方法:補碼將符號位求反:補碼將符號位求反可得移碼可得移碼 n設字長為設字長為8b8b,若,若x1=+1000 x1=+1000(2) (2), , x2=-1000 x2=-1000(2) (2), , x1x1補 補=00001000 x1 =00001000 x1移 移=10001000 =10001000 x2 x2補 補=11111000 x2 =11111000 x2移 移=0111

18、1000 =01111000 Nanjing University of Information Science & Technology, Computer and Software Institute 原、反、補、移碼轉(zhuǎn)換方法原、反、補、移碼轉(zhuǎn)換方法 n正數(shù)正數(shù) 原碼原碼=反碼反碼=補碼補碼 移碼移碼=補碼符號位取反,數(shù)值位不變補碼符號位取反,數(shù)值位不變 n負數(shù)負數(shù) 反碼反碼=原碼符號位不變,數(shù)值位取反原碼符號位不變,數(shù)值位取反 補碼補碼=反碼末位加反碼末位加1 移碼移碼=補碼符號位取反,數(shù)值位不變補碼符號位取反,數(shù)值位不變 Nanjing University of Informatio

19、n Science & Technology, Computer and Software Institute 數(shù)的定點表示數(shù)的定點表示 n計算機中小數(shù)的小數(shù)點并不是用某個數(shù)計算機中小數(shù)的小數(shù)點并不是用某個數(shù) 字來表示的,而是用字來表示的,而是用隱含隱含的小數(shù)點的位的小數(shù)點的位 置來表示。置來表示。 n根據(jù)小數(shù)點的位置是否固定,又可分為根據(jù)小數(shù)點的位置是否固定,又可分為 定點表示定點表示 l定點小數(shù)定點小數(shù)表示形式表示形式 l定點整數(shù)定點整數(shù)表示形式表示形式 浮點表示浮點表示 Nanjing University of Information Science & Technology, Com

20、puter and Software Institute 數(shù)的定點表示數(shù)的定點表示 定點小數(shù) 將小數(shù)點固定在將小數(shù)點固定在符號位符號位d d0 0之后、之后、數(shù)值最高位數(shù)值最高位d d-1 -1之前, 之前, 這就是定點小數(shù)形式。其格式如下所示:這就是定點小數(shù)形式。其格式如下所示: 定點整數(shù) 將小數(shù)點固定在數(shù)的將小數(shù)點固定在數(shù)的最低位最低位d d-(n-1 -(n-1)之后,這就是定點 之后,這就是定點 整數(shù)形式。其格式如下所示:整數(shù)形式。其格式如下所示: d d0 0 d d-1-1 d d-2 -2 d d-(n-1 -(n-1) d d0 0 d d-1 -1 d d-2 -2 . d

21、. d-(n-1 -(n-1) Nanjing University of Information Science & Technology, Computer and Software Institute 設字長為設字長為8b8b,用,用原碼原碼表示時,其表示范圍如下:表示時,其表示范圍如下: 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 1.1111111 1.0000001 0.0000001 0.11111111.1111111 1.0000001 0.0000001 0.1111111 - -(1-21-2 ) ) -2-2 7 7 2 27 7 1-2 1

22、-2 7 7 定點小數(shù)定點小數(shù)的表示范圍:的表示范圍: 設字長為設字長為8b8b,用,用補碼補碼表示時,其表示范圍如下:表示時,其表示范圍如下: 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 1.0000000 1.1111111 0.0000001 0.11111111.0000000 1.1111111 0.0000001 0.1111111 -1 -2-1 -2 7 7 2 27 7 1-2 1-2 7 7 Nanjing University of Information Science & Technology, Computer and Software

23、Institute 設字長為設字長為8b8b,用,用原碼原碼表示時,其表示范圍如下:表示時,其表示范圍如下: 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 11111111 10000001 00000001 0111111111111111 10000001 00000001 01111111 - -(2 27 7-1-1)=-127 -1=-127 -1 +1 +1 2 27 7-1=127 -1=127 設字長為設字長為8b8b,用,用補碼補碼表示時,其表示范圍如下:表示時,其表示范圍如下: 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù)

24、 10000000 11111111 00000001 0111111110000000 11111111 00000001 01111111 -2-27 7=-128 -1=-128 -1 +1 +1 2 27 7-1=127 -1=127 定點整數(shù)定點整數(shù)的表示范圍:的表示范圍: Nanjing University of Information Science & Technology, Computer and Software Institute 數(shù)的浮點表示法數(shù)的浮點表示法 浮點數(shù)的表示格式 n浮點表示法把字長分成浮點表示法把字長分成階碼階碼(表示指數(shù))(表示指數(shù)) 和和尾數(shù)尾數(shù)(

25、表示數(shù)值)(表示數(shù)值)兩部分。兩部分。X=DRE 階碼階碼E:用用整數(shù)整數(shù)形式表示,指明小數(shù)點在數(shù)形式表示,指明小數(shù)點在數(shù) 據(jù)中的位置,決定了浮點數(shù)的表示范圍。據(jù)中的位置,決定了浮點數(shù)的表示范圍。 尾數(shù)尾數(shù)D:用用定點小數(shù)定點小數(shù)表示,給出有效數(shù)字的表示,給出有效數(shù)字的 位數(shù)決定了浮點數(shù)的表示精度;位數(shù)決定了浮點數(shù)的表示精度; 階碼的底階碼的底R:一般為:一般為2、8或或16 ,且,且隱含規(guī)定,隱含規(guī)定, 在浮點數(shù)表示中不出現(xiàn),通常取在浮點數(shù)表示中不出現(xiàn),通常取2; Nanjing University of Information Science & Technology, Computer

26、 and Software Institute J EJ Em-1 m-1E E1 1 S D S D-1 -1D D-(n-1)-(n-1) 階符 階碼值 數(shù)符尾數(shù)值 決定范圍決定精度 第一種浮點格式第一種浮點格式 補碼定點 整數(shù)形式 補碼定點小 數(shù)表示形式 Nanjing University of Information Science & Technology, Computer and Software Institute 浮點數(shù)另一種格式:浮點數(shù)另一種格式: S J E S J Em-1 m-1E E1 1 D D-1 -1D D-(n-1)-(n-1) 階符階碼值數(shù)符尾數(shù)值 存儲

27、的數(shù)X可表示為X=D2E。 補碼定點 整數(shù)形式 Nanjing University of Information Science & Technology, Computer and Software Institute 浮點數(shù)的規(guī)格化浮點數(shù)的規(guī)格化 為了使浮點表示法有盡可能高的精度:為了使浮點表示法有盡可能高的精度: n措施之一,是增加位數(shù),或者是在字長措施之一,是增加位數(shù),或者是在字長 一定的情況下,將階碼和尾數(shù)所占的位一定的情況下,將階碼和尾數(shù)所占的位 數(shù)協(xié)調(diào)好;數(shù)協(xié)調(diào)好; n措施之二,是采用浮點數(shù)規(guī)格化表示。措施之二,是采用浮點數(shù)規(guī)格化表示。 即即充分利用尾數(shù)的二進制數(shù)位來表示更充分

28、利用尾數(shù)的二進制數(shù)位來表示更 多的有效數(shù)字。多的有效數(shù)字。 Nanjing University of Information Science & Technology, Computer and Software Institute 浮點數(shù)規(guī)格化浮點數(shù)規(guī)格化 原碼原碼規(guī)格化后規(guī)格化后 正數(shù)為正數(shù)為 0.10.1的形式。的形式。 負數(shù)為負數(shù)為 1.11.1的形式。的形式。 補碼補碼規(guī)格化后規(guī)格化后 正數(shù)為正數(shù)為 0.10.1的形式。的形式。 負數(shù)為負數(shù)為 1.01.0的形式。的形式。 通過調(diào)整階碼,使其尾數(shù)通過調(diào)整階碼,使其尾數(shù)D滿足下面形式的數(shù):滿足下面形式的數(shù): 當尾數(shù)的值不為當尾數(shù)的值不

29、為 0 0 時,時,尾數(shù)域的最高有效位應為尾數(shù)域的最高有效位應為1 1, 否則以修改階碼同時左右移小數(shù)點的辦法,使其否則以修改階碼同時左右移小數(shù)點的辦法,使其 變成這一表示形式。變成這一表示形式。 Nanjing University of Information Science & Technology, Computer and Software Institute 浮點數(shù)的表示舉例浮點數(shù)的表示舉例 某機用某機用32b32b表示一個數(shù),階碼部分占表示一個數(shù),階碼部分占8b8b(含(含 一位符號位),尾數(shù)部分占一位符號位),尾數(shù)部分占24b24b(含一位符(含一位符 號位)。設號位)。設x1

30、=-256.5 x1=-256.5 ,x2=127/256x2=127/256,試寫,試寫 出出x1x1和和x2x2的兩種浮點數(shù)表示格式。的兩種浮點數(shù)表示格式。 例2.1 Nanjing University of Information Science & Technology, Computer and Software Institute x x1 1=-256.5= -=-256.5= -(100000000.1100000000.1)2 2=-2=-29 90.10000000010.1000000001 階碼的補碼為(階碼的補碼為(+9+9)補 補=00001001 =000010

31、01 階碼的移碼為(階碼的移碼為(+9+9)移 移=10001001 =10001001 尾數(shù)尾數(shù)=1.01111111110000000000000 =1.01111111110000000000000 (規(guī)格化補碼規(guī)格化補碼) 第一種浮點表示的格式為第一種浮點表示的格式為 0000100100001001,1.011111111100000000000001.01111111110000000000000 第二種浮點表示的格式為第二種浮點表示的格式為 1 1,1000100110001001,0111111111000000000000001111111110000000000000 解:

32、解: 移碼 補碼 Nanjing University of Information Science & Technology, Computer and Software Institute x x2 2=127/256=127/256=(11111111111111)2 22 2-8 -8 = 2 = 2-1 -10.11111110.1111111 階碼的補碼為(階碼的補碼為(-1 -1)補 補=11111111 =11111111 階碼的移碼為(階碼的移碼為(-1 -1)移 移=01111111 =01111111 尾數(shù)尾數(shù)=0.11111110000000000000000=0.11

33、111110000000000000000(規(guī)格化補碼規(guī)格化補碼) 第一種浮點表示的格式為第一種浮點表示的格式為 1111111111111111,0.111111100000000000000000.11111110000000000000000 第二種浮點表示的格式為第二種浮點表示的格式為 0 0,0111111101111111,1111111000000000000000011111110000000000000000 解解 Nanjing University of Information Science & Technology, Computer and Software Ins

34、titute 浮點數(shù)的表示范圍浮點數(shù)的表示范圍 設階碼和尾數(shù)各為設階碼和尾數(shù)各為4b4b(各包含一個符號位),則其(各包含一個符號位),則其 浮點數(shù)的表示表示范圍分別為:浮點數(shù)的表示表示范圍分別為: 階碼范圍階碼范圍 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 1000 1111 0001 01111000 1111 0001 0111 -2-27 7=-8 -1=-8 -1 +1 +1 2 23 3-1=7 -1=7 規(guī)格化尾數(shù)表示范圍規(guī)格化尾數(shù)表示范圍 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 1.000 1.011 0.100 0

35、.1111.000 1.011 0.100 0.111 -1 - -1 -(2 2 3 3+2 +2 1 1 ) ) 2 21 1 1-2 1-2 3 3 二進制補碼 十進制真值 二進制補碼 十進制真值 Nanjing University of Information Science & Technology, Computer and Software Institute 最小負數(shù)最小負數(shù) 最大負數(shù)最大負數(shù) 最小正數(shù)最小正數(shù) 最大正數(shù)最大正數(shù) 2 20111 0111 1.000 21.000 21000 1000 1.011 21.011 21000 1000 0.100 20.100

36、20111 0111 0.1110.111 2 21111 1111 1.000 21.000 20000 0000 1.011 21.011 20000 0000 0.100 20.100 21111 1111 0.1110.111 -2 -27 71 -21 -2-8 -8 (2 2 3 3+2 +2 1 1 ) ) 2 2-8-8 2 2 1 1 2 27 7 (1-21-2 3 3) ) 規(guī)格化浮點數(shù)表示范圍規(guī)格化浮點數(shù)表示范圍 二進制補碼 階碼用移碼 十進制真值 這里規(guī)格化這里規(guī)格化尾數(shù)的最大負數(shù)的補碼尾數(shù)的最大負數(shù)的補碼是是1.0111.011的形式,的形式, 而而不是不是1.10

37、01.100的形式,是因為的形式,是因為 1.1001.100不是規(guī)格化不是規(guī)格化 數(shù),所以數(shù),所以規(guī)格化尾數(shù)的最大負數(shù)規(guī)格化尾數(shù)的最大負數(shù)應是應是 : - -(0.100 0.100 + + 0.001 0.001)= - 0.1001 = - 0.1001 , 而而- 0.101- 0.101補補=1.011 =1.011 ,即,即 - -(2 2 (n-1)(n-1) +2 +2 1 1 ) ) 注意:注意: Nanjing University of Information Science & Technology, Computer and Software Institute (5

38、) (5) 溢出問題溢出問題 n定點形式判斷溢出的辦法是對數(shù)值本身定點形式判斷溢出的辦法是對數(shù)值本身 進行判斷,進行判斷, n浮點數(shù)是對規(guī)格化后的階碼進行判斷。浮點數(shù)是對規(guī)格化后的階碼進行判斷。 當一個浮點數(shù)階碼大于機器的最大階碼,稱當一個浮點數(shù)階碼大于機器的最大階碼,稱 為上溢;為上溢; l機器產(chǎn)生上溢時,不能再繼續(xù)運算,一般要進行機器產(chǎn)生上溢時,不能再繼續(xù)運算,一般要進行 中斷處理。中斷處理。 而小于最小階碼時,稱為下溢。而小于最小階碼時,稱為下溢。 l出現(xiàn)下溢時,一般規(guī)定把浮點數(shù)各位強迫為零出現(xiàn)下溢時,一般規(guī)定把浮點數(shù)各位強迫為零 (當做零處理當做零處理),機器仍可繼續(xù)進行運算。,機器仍

39、可繼續(xù)進行運算。 Nanjing University of Information Science & Technology, Computer and Software Institute 2.1.2 非數(shù)值數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示 n非數(shù)值數(shù)據(jù):文字和符號(非數(shù)值數(shù)據(jù):文字和符號(字符字符)、圖)、圖 像、聲音等像、聲音等 n非數(shù)值數(shù)據(jù)的表示:對其進行二進制編非數(shù)值數(shù)據(jù)的表示:對其進行二進制編 碼碼 1、字符編碼、字符編碼 2、漢字編碼、漢字編碼 Nanjing University of Information Science & Technology, Computer and S

40、oftware Institute 1、字符編碼、字符編碼 n字符的表示:采用字符編碼,即用規(guī)定字符的表示:采用字符編碼,即用規(guī)定 的二進制數(shù)表示文字和符號的方法。的二進制數(shù)表示文字和符號的方法。 nASCII碼碼(American Standard Code For Information Interchange) :美國標準信美國標準信 息交換碼,為國際標準。息交換碼,為國際標準。 n常用的常用的7位位ASCII碼碼的每個字符都由的每個字符都由7個二進制位個二進制位b6 b0 表示,有表示,有128個編碼,最多可表示個編碼,最多可表示128種字符;其種字符;其 中包括:中包括: 10個數(shù)字

41、個數(shù)字09:30H39H,順序排列,順序排列 26個小寫字母個小寫字母az:61H7AH ,順序排列,順序排列 26個大寫字母個大寫字母AZ:41H5AH ,順序排列,順序排列 各種運算符號和標點符號等。各種運算符號和標點符號等。 Nanjing University of Information Science & Technology, Computer and Software Institute ASCII碼編碼表碼編碼表 000001010011100101110111 0000NULDLESP0 P p 0001SOHDC1!1AQaq 0010STXDC2“2BRbr 0011E

42、TXDC3#3CScs 0100EOTDC4¥4DTdt 0101ENQNAK%5EUeu 0110ACKSYN&6FVfv 0111BELETB7GWgw 1000BSCAN(8HXhx 1001HTEM)9IYiy 1010LFSUB*:JZjz 1011VTESC+;Kk 1100FFFS,L、l| 1101CRGS-=Mm 1110SORS.Nn 1111SIUS/?O_oDEL Nanjing University of Information Science & Technology, Computer and Software Institute 其中其中95個編碼個編碼,對應著

43、計算機終端,對應著計算機終端能敲入并且能敲入并且 可以顯示可以顯示的的95個字符,打印機設備也個字符,打印機設備也能打印能打印 這這95個字符,如大小寫各個字符,如大小寫各26個英文字母,個英文字母, 09這這10個數(shù)字符,通用的運算符和標點符個數(shù)字符,通用的運算符和標點符 號,號,*,/,0或或0時,時,2 () 2,進位進位2必丟失,必丟失, 又因又因( () )0, 故故 補 補 補 補 補 補 (mod 2) 當當0時,時,2 () 2,又因又因( ( ) )0, 故故補 補 補 補 2() 補 補 (mod 2) Nanjing University of Information S

44、cience & Technology, Computer and Software Institute 0,則,則0或或 0。 這種情況和第這種情況和第2 2種情況一樣,把種情況一樣,把和和 的位置對調(diào)即得證。的位置對調(diào)即得證。 Nanjing University of Information Science & Technology, Computer and Software Institute 0,0,則,則0。 相加兩數(shù)都是負數(shù),則其和也一定是相加兩數(shù)都是負數(shù),則其和也一定是 負數(shù)。負數(shù)。 補 補 2,補 補 2 補 補 補 補 22 2(2) Nanjing University

45、 of Information Science & Technology, Computer and Software Institute 上式右邊分為上式右邊分為”2”和和(2)兩部分兩部分。 由于由于()是負數(shù)是負數(shù),且,且其絕對值又小于其絕對值又小于 1,那么那么(2)就一定是小于就一定是小于2而大而大 于于1的數(shù)的數(shù),進位進位”2”必丟失必丟失。又因又因( )0, 所以所以 補 補 補 補 (2) 2() 補 補(mod 2) 補 補 補 補 2 (2) Nanjing University of Information Science & Technology, Computer a

46、nd Software Institute 例0.1011, 0.0101,求,求 y。 解: 補0.1011,補1.1011 補0.1011 補1.1011 補 10.0110 所以0.0110 Nanjing University of Information Science & Technology, Computer and Software Institute 數(shù)用補碼表示時,減法運算的公式為數(shù)用補碼表示時,減法運算的公式為 補 補 補 補 補 補 補 補 補 補 (2-2) 只要證明只要證明補 補 補 補, ,上式即得證。上式即得證。 (2 2)補碼的減法運算)補碼的減法運算 Na

47、njing University of Information Science & Technology, Computer and Software Institute 證明證明 : 補 補 補 補 補 補 (mod 2) 補 補 補 補 補 補 (2-3) 補 補 ()補 補 補 補 補 補 補 補 補 補 補 補 (2-4) Nanjing University of Information Science & Technology, Computer and Software Institute 將式將式(2-3)與與(2-4)相加,得相加,得 補 補 補 補 補 補 補 補 補 補

48、補 補 補 補 補 補 補 補 補 補 補 補 0 故故補 補 補 補(mod 2)(2-5) Nanjing University of Information Science & Technology, Computer and Software Institute 另一種證明方法:利用補碼加法公式, 00補 補= 0 = 0 y 補 補 y 補 補 y(y) 補 補 y y 補 補 0 補 補 0 故故 y 補 補 y補 補 對于定點小數(shù)和定點整數(shù)都適用 y 補 補的含義: 是將 y補 補的各位(包括符號位)全 部取反,末位加“1”。 Nanjing University of Info

49、rmation Science & Technology, Computer and Software Institute 從從補 補求 求補 補的法則是: 的法則是: 對對補 補各位 各位( (包括符號位包括符號位) )求反且最末求反且最末 位加位加1,即可得到,即可得到補 補。 。 寫成運算表達式,則為寫成運算表達式,則為 補 補 補 補 2 n 其中:其中: 符號符號表示對表示對補 補作包括符號位在內(nèi)的 作包括符號位在內(nèi)的 求反操作,求反操作,2 n表示最末位的 表示最末位的1。 Nanjing University of Information Science & Technology

50、, Computer and Software Institute 例1 已知已知10.1110,20.1101, 求:求:1補 補, ,1補 補, ,2補 補, ,2補 補。 。 解解: 1補 補 1.0010 1補 補 1補 補 2-4 0.11010.00010.1110 2補 補 0.1101 2補 補 2補 補 2-4 1.00100.00011.0011 Nanjing University of Information Science & Technology, Computer and Software Institute 例2 0.1101,0.0110,求,求。 解解: 補

51、補0.1101,補補0.0110, 補補1.1010 補補 0.1101 補補 1.1010 補補 10.0111 所以所以0.0111 Nanjing University of Information Science & Technology, Computer and Software Institute 參加運算的數(shù)都用參加運算的數(shù)都用補碼補碼表示。表示。 數(shù)據(jù)的符號與數(shù)據(jù)一樣參加運算。數(shù)據(jù)的符號與數(shù)據(jù)一樣參加運算。 求差時將減數(shù)求補,用求差時將減數(shù)求補,用求和代替求差求和代替求差。 運算結(jié)果運算結(jié)果為為補碼補碼。如果符號位為。如果符號位為0 0,表明,表明 運算結(jié)果為正;如果符號位為

52、運算結(jié)果為正;如果符號位為1 1,則表明,則表明 運算結(jié)果為負。運算結(jié)果為負。 符號位的進位符號位的進位為模值,應該丟掉。為模值,應該丟掉。 加減法運算規(guī)則 Nanjing University of Information Science & Technology, Computer and Software Institute 3. 溢出判斷法 機器定點小數(shù)表示機器定點小數(shù)表示 n在定點小數(shù)機器中,數(shù)的表示范圍為在定點小數(shù)機器中,數(shù)的表示范圍為|1。 n在運算過程中如出現(xiàn)大于在運算過程中如出現(xiàn)大于1的現(xiàn)象,稱為的現(xiàn)象,稱為“溢溢 出出”。 n在定點機中在定點機中,正常情況下溢出是不允許的。

53、正常情況下溢出是不允許的。 Nanjing University of Information Science & Technology, Computer and Software Institute 例 0.1011, 0.1001,求求 。 解: 補0.1011 補0.1001 補0.1011 補0.1001 補 1.0100 兩個正數(shù)相加的結(jié)果成為負數(shù),這顯 然是錯誤的。 Nanjing University of Information Science & Technology, Computer and Software Institute 例 0.1101, 0.1011,求求

54、。 解: 補1.0011 補1.0101 補1.0011 補1.0101 補0.1000 兩個負數(shù)相加的結(jié)果成為正數(shù),這 同樣是錯誤的。 Nanjing University of Information Science & Technology, Computer and Software Institute 之所以發(fā)生錯誤,是因為運算結(jié)果產(chǎn)生了之所以發(fā)生錯誤,是因為運算結(jié)果產(chǎn)生了 溢出。溢出。 兩個正數(shù)相加,結(jié)果大于機器所能兩個正數(shù)相加,結(jié)果大于機器所能 表示的最大正數(shù),稱為表示的最大正數(shù),稱為上溢。 而兩個負數(shù)相加,結(jié)果小于機器所而兩個負數(shù)相加,結(jié)果小于機器所 能表示的最小負數(shù),稱為能表

55、示的最小負數(shù),稱為下溢。 Nanjing University of Information Science & Technology, Computer and Software Institute n為了判斷為了判斷“溢出溢出”是否發(fā)生,可采用兩是否發(fā)生,可采用兩 種檢測的方法。種檢測的方法。 第一種方法是采用第一種方法是采用雙符號位法雙符號位法(變形補碼法,變形補碼法, 或或“模模4 4補碼補碼”)。)。 第二種方法是第二種方法是進位判斷法進位判斷法(單符號位法單符號位法) 。 Nanjing University of Information Science & Technology,

56、 Computer and Software Institute (1)雙符號法(變形補碼法) n用用兩個相同的符號位兩個相同的符號位S Sf1 f1 S Sf2f2表示一個數(shù)的符號。 表示一個數(shù)的符號。 左邊第一位為第一符號位左邊第一位為第一符號位S Sf1 f1,相鄰的為第二符號位 ,相鄰的為第二符號位 S Sf2 f2。 。 n雙符號位的含義為:雙符號位的含義為: 0000表示正號;表示正號; 1111表示負號;表示負號; 0101表示產(chǎn)生正向溢出;表示產(chǎn)生正向溢出; 1010表示產(chǎn)生負向溢出。表示產(chǎn)生負向溢出。 n雙符號位可用邏輯異或來判斷溢出情況:雙符號位可用邏輯異或來判斷溢出情況:

57、 V=SV=Sf1 f1S Sf2 f2 ,此邏輯表達式可用 ,此邏輯表達式可用異或門異或門實現(xiàn)。實現(xiàn)。 若若V=0V=0,則無溢出;,則無溢出;V=1V=1,則有溢出。,則有溢出。 n第一符號位永遠是結(jié)果的真正符號位。第一符號位永遠是結(jié)果的真正符號位。 Nanjing University of Information Science & Technology, Computer and Software Institute 例例1 1:已知:已知 x=0.1011 x=0.1011 , y=0.0111y=0.0111, 求求x+yx+y= =? 解:解:xx 補 補=00.1011 =0

58、0.1011,yy 補 補=00.0111 =00.0111 x x 補 補= 00.1011 = 00.1011 + y + y 補 補= 00.0111 = 00.0111 x+y x+y 補 補= 01.0010 = 01.0010 兩符號位為兩符號位為0101,表示出現(xiàn)正向溢出。,表示出現(xiàn)正向溢出。 例例2 2:已知:已知 x=-0.1011 x=-0.1011 , y=0.0111y=0.0111, 求求x-yx-y= =? 解:解:xx 補 補=11.0101 =11.0101,-y-y 補 補=11.1001 =11.1001 x x 補 補= 11.0101 = 11.0101

59、 + -y + -y 補 補= 11.1001 = 11.1001 x-y x-y 補 補= = 1 1 10.1110 10.1110 已超出模值,丟掉已超出模值,丟掉 兩符號位為兩符號位為1010,表示出現(xiàn)負向溢出。,表示出現(xiàn)負向溢出。 Nanjing University of Information Science & Technology, Computer and Software Institute 進位判斷法 n判斷規(guī)則:設判斷規(guī)則:設C Cn-1 n-1為 為最高數(shù)值位向符號位的進最高數(shù)值位向符號位的進 位值產(chǎn)生的進位位值產(chǎn)生的進位, C Cn n為為符號位產(chǎn)生的進位符號位產(chǎn)

60、生的進位。 當兩補碼進行加減運算(減法轉(zhuǎn)化為加法進行)當兩補碼進行加減運算(減法轉(zhuǎn)化為加法進行) 時,時, 如果兩個進位值如果兩個進位值C Cn-1 n-1 C Cn n相同,則沒有溢出發(fā)生 相同,則沒有溢出發(fā)生 如果兩個進位值不同,則有溢出發(fā)生。如果兩個進位值不同,則有溢出發(fā)生。 l若若C Cn-1 n-1 1, C Cn n 0時,則發(fā)生正溢時,則發(fā)生正溢 l若若C Cn-1 n-1 0, C Cn n 1時,則發(fā)生負溢時,則發(fā)生負溢 n其判斷溢出表達式如下:其判斷溢出表達式如下:V=CV=Cn nCCn-1 n-1 , , 此邏式可用異或門實現(xiàn)此邏式可用異或門實現(xiàn) Nanjing Uni

溫馨提示

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

評論

0/150

提交評論