計算機導論PPT第四章_數(shù)據(jù)運算_第1頁
計算機導論PPT第四章_數(shù)據(jù)運算_第2頁
計算機導論PPT第四章_數(shù)據(jù)運算_第3頁
計算機導論PPT第四章_數(shù)據(jù)運算_第4頁
計算機導論PPT第四章_數(shù)據(jù)運算_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 2q 列出三大類數(shù)據(jù)運算:邏輯、移位、算術列出三大類數(shù)據(jù)運算:邏輯、移位、算術q 在位模式上進行一元和二元邏輯運算在位模式上進行一元和二元邏輯運算q 區(qū)分邏輯移位運算和算術移位運算區(qū)分邏輯移位運算和算術移位運算q 在位模式上進行邏輯移位運算在位模式上進行邏輯移位運算q 對二進制補碼形式存儲的整數(shù)進行算術移位運算對二進制補碼形式存儲的整數(shù)進行算術移位運算q 對二進制補碼形式存儲的整數(shù)進行加減法運算對二進制補碼形式存儲的整數(shù)進行加減法運算q 對符號加絕對值形式存儲的整數(shù)進行加減法運算對符號加絕對值形式存儲的整數(shù)進行加減法運算q 對浮點格式存儲的實數(shù)進行加減法運算對浮點格式存儲的實數(shù)進行加減法運

2、算q 理解邏輯和算術運算的一些應用,如置位、復位等理解邏輯和算術運算的一些應用,如置位、復位等 目標目標通過本章的學習,同學們應該能夠通過本章的學習,同學們應該能夠:3u邏輯運算是對因果關系進行分析的一種運算。邏輯運算是對因果關系進行分析的一種運算。u邏輯運算結(jié)果并不表示數(shù)值大小,而是表示一種邏邏輯運算結(jié)果并不表示數(shù)值大小,而是表示一種邏輯概念,通常用來測試真假值,若成立用真或輯概念,通常用來測試真假值,若成立用真或1表示,表示,不成立用假或不成立用假或0表示。表示。u可以在位層次和模式層次上定義邏輯運算。可以在位層次和模式層次上定義邏輯運算。u模式層次上的邏輯運算是具有相同類型的位層次上模式

3、層次上的邏輯運算是具有相同類型的位層次上的的n個邏輯運算,個邏輯運算,n是模式中的位的數(shù)目是模式中的位的數(shù)目. 4位層次上的邏輯運算位層次上的邏輯運算Logic operations at bit level可以應用布爾代數(shù)中定義的運算去操縱二進制位可以應用布爾代數(shù)中定義的運算去操縱二進制位.為紀念喬治為紀念喬治.布爾(布爾(George Boole)而命名的布爾代數(shù)屬)而命名的布爾代數(shù)屬于邏輯的特殊數(shù)學領域于邏輯的特殊數(shù)學領域. 如果定義如果定義1個位作為邏輯值,則可對它進行邏輯運算個位作為邏輯值,則可對它進行邏輯運算.邏輯運算接收邏輯運算接收1或或2個位來生成個位來生成1個位。若邏輯運算作

4、用個位。若邏輯運算作用在在1或或2個輸入位上,就叫一元或二元運算。個輸入位上,就叫一元或二元運算。四種被用來操縱二進制位的位層次上的運算四種被用來操縱二進制位的位層次上的運算: 非非NOT, 與與AND, 或或OR, 異或異或XOR.5非非NOT非運算實現(xiàn)邏輯否定,即進行求反運算。非運算實現(xiàn)邏輯否定,即進行求反運算。NOT 運算符是一元操作符運算符是一元操作符: 它只有一個輸入它只有一個輸入. 輸出位是輸入位的相反輸出位是輸入位的相反.6與運算又稱邏輯乘,用符號與運算又稱邏輯乘,用符號.或或表示表示AND 運算符是二元運算符:有兩個輸入運算符是二元運算符:有兩個輸入 如果輸入都是如果輸入都是1

5、,則輸出是,則輸出是1;其他情況下,輸出都是;其他情況下,輸出都是0與與AND對于對于 x = 0 or 1: x AND 0 0 、 0 AND x 0 i7或或OR或運算又稱邏輯加,用符號或運算又稱邏輯加,用符號+或或表示表示OR運算符是二元運算符:有兩個輸入運算符是二元運算符:有兩個輸入. 如果輸入都是如果輸入都是0,則輸出為,則輸出為0;其他情況下,輸出都是;其他情況下,輸出都是1.對于對于 x = 0 or 1 : x OR 1 1 、 1 OR x 1 i8異或運算用符號異或運算用符號表示,表示,XOR也是二元運算符。也是二元運算符。與與OR的一點不同,如果輸入都是的一點不同,如果

6、輸入都是1,則輸出為,則輸出為0。 如果輸入相同,則輸出為如果輸入相同,則輸出為0,否則為,否則為1。異或異或XORFor x = 0 or 1 1 XOR x NOT x x XOR 1 NOT x i9Example 4.1英語中英語中 “or” ,有時表示,有時表示“或或”,有時表示,有時表示“異或異或”?!皁r”表示表示“或或”“I would like to have a car or a house” I would like to have a car, a house or both(我希望有一輛車,一棟房子或者二者兼而有之)(我希望有一輛車,一棟房子或者二者兼而有之). “o

7、r”表示表示“異或異或” “Today is either Monday or Tuesday” Today is either Monday or Tuesday, but it cannot be both(今天不是星期一就是星期二,但不能兩個都是)(今天不是星期一就是星期二,但不能兩個都是).10Example 4.2XOR運算符其實不是新的運算符,能用其他運算符其實不是新的運算符,能用其他三個運算符來模擬三個運算符來模擬. 下面兩個表達式是等價的下面兩個表達式是等價的x XOR y x AND (NOT y) OR (NOT x) AND y如果給出兩個表達式的真值表,等價就可以得到證

8、明如果給出兩個表達式的真值表,等價就可以得到證明.11模式層次上的邏輯運算模式層次上的邏輯運算Logic operations at pattern level4個運算符個運算符 (NOT,AND,OR,XOR)可以被應用到可以被應用到n位模式位模式.對對NOT來說,就是把每個運算符應用于每個位來說,就是把每個運算符應用于每個位.對另對另3個運算符,就是把每個運算符應用于相應的位對個運算符,就是把每個運算符應用于相應的位對 .圖圖4.2 顯示了帶輸入和輸出模式的四個運算符顯示了帶輸入和輸出模式的四個運算符.Figure 4.2 應用于位模式的邏輯運算符應用于位模式的邏輯運算符 12Exampl

9、e 4.3 用用NOT運算符來計算位模式運算符來計算位模式10011000. 解:解:注意:注意:NOT運算符把每個運算符把每個0變成變成1,把每個,把每個1變成變成0. 13Example 4.4用用AND運算符來計算位模式運算符來計算位模式 10011000 和和 00101010.解:注意:解:注意:只有輸入中相應的位都為只有輸入中相應的位都為1,輸出的位才為,輸出的位才為1.14Example 4.5 對位模式對位模式10011001 和和 00101110應用應用OR運算運算.解:注意:解:注意:只有輸入中相應的位都為只有輸入中相應的位都為0,輸出中的位才為,輸出中的位才為0.15E

10、xample 4.6使用使用XOR運算符來計算位模式運算符來計算位模式10011001和和00101110. 解:解:輸入相同,則輸出為輸入相同,則輸出為0 P53錯錯注意:將該例的輸出與注意:將該例的輸出與Example 4.5進行比較,進行比較,區(qū)別在于該例中輸入位都為區(qū)別在于該例中輸入位都為1時,輸出為時,輸出為 016Applications四種邏輯運算可用于修改位模式四種邏輯運算可用于修改位模式.171819Example 4.7 使用掩碼復位模式的最左使用掩碼復位模式的最左5位。位。用模式用模式10100110測試掩碼測試掩碼.解:解:掩碼是掩碼是00000111,應用掩碼的結(jié)果是

11、,應用掩碼的結(jié)果是:20Example 使用使用8個水泵來給城市供水。個水泵來給城市供水。水泵的開或關可以用水泵的開或關可以用8位二進制模式來描述。位二進制模式來描述?,F(xiàn)在假設將現(xiàn)在假設將5號水泵關閉,假設關為號水泵關閉,假設關為0。什么樣的運算和掩碼可以描述這種情況?什么樣的運算和掩碼可以描述這種情況?解:解: 原狀態(tài)是:原狀態(tài)是:0 1 1 1 1 0 0 1 掩碼是:掩碼是:1 1 1 0 1 1 1 1 應用掩碼的結(jié)果是:應用掩碼的結(jié)果是:0 1 1 0 1 0 0 1AND復位(置復位(置0)21q 對指定的位置位對指定的位置位 (OR)或運算的一個應用就是把位模式的指定位置位(置或

12、運算的一個應用就是把位模式的指定位置位(置1)OR運算符特性:輸入有一個運算符特性:輸入有一個1,則輸出是,則輸出是1.掩碼中的掩碼中的1位對第一個輸入中的相應位進行置位,位對第一個輸入中的相應位進行置位,掩碼中的掩碼中的0位使第一個輸入中相應的位保持不變。位使第一個輸入中相應的位保持不變。創(chuàng)建置位掩碼的規(guī)則:創(chuàng)建置位掩碼的規(guī)則:l目標位模式中需要置目標位模式中需要置1的位,掩碼相應位設為的位,掩碼相應位設為1l目標位模式中需要保持不變的位,掩碼相應位設為目標位模式中需要保持不變的位,掩碼相應位設為022Example 4.8 用掩碼來把一個位模式的最左用掩碼來把一個位模式的最左5位置位位置位

13、. 用模式用模式10100110檢驗掩碼檢驗掩碼. 解:解:此掩碼為此掩碼為11111000,應用此掩碼的結(jié)果為,應用此掩碼的結(jié)果為:23Example 解:解: 原狀態(tài)是:原狀態(tài)是: 0 1 1 1 1 0 0 1 掩碼是:掩碼是: 0 0 0 0 0 1 0 0 應用掩碼的結(jié)果是:應用掩碼的結(jié)果是: 0 1 1 1 1 1 0 1OR置位(置置位(置1)一個電廠使用一個電廠使用8個水泵來給城市供水。個水泵來給城市供水。水泵的開或關可以用水泵的開或關可以用8位二進制模式來描述。位二進制模式來描述?,F(xiàn)在假設將現(xiàn)在假設將3號水泵打開,假設關為號水泵打開,假設關為0。什么樣的運算和掩碼可以描述這種

14、情況?什么樣的運算和掩碼可以描述這種情況?24q使指定的位反轉(zhuǎn)使指定的位反轉(zhuǎn) (XOR)異或運算符的一個應用就是使指定的位反轉(zhuǎn)異或運算符的一個應用就是使指定的位反轉(zhuǎn)即把指定位由即把指定位由0變成變成1,由,由1變成變成0.掩碼中的掩碼中的1位對第一個輸入中相應的位進行反轉(zhuǎn)。位對第一個輸入中相應的位進行反轉(zhuǎn)。掩碼中的掩碼中的0位使第一個輸入中相應的位保持不變。位使第一個輸入中相應的位保持不變。創(chuàng)建反轉(zhuǎn)掩碼的規(guī)則:創(chuàng)建反轉(zhuǎn)掩碼的規(guī)則:l目標位模式中需要反轉(zhuǎn)的位,掩碼相應位設為目標位模式中需要反轉(zhuǎn)的位,掩碼相應位設為1l目標位模式中需要保持不變的位,掩碼相應位設為目標位模式中需要保持不變的位,掩碼相

15、應位設為0注意注意NOT與與NOR的區(qū)別的區(qū)別25Example 4.9用掩碼來反轉(zhuǎn)一個模式的最左邊用掩碼來反轉(zhuǎn)一個模式的最左邊5位位. 用模式用模式10100110檢驗掩碼檢驗掩碼.解:掩碼為解:掩碼為11111000. 運用掩碼后的結(jié)果為運用掩碼后的結(jié)果為:264-2 移位運算移位運算 SHIFT OPERATIONS 移動模式中的位,改變位的位置。移動模式中的位,改變位的位置。它們能向左或向右移動位。它們能向左或向右移動位??梢园岩莆贿\算分成兩大類可以把移位運算分成兩大類 : l邏輯移位運算邏輯移位運算l算術移位運算算術移位運算27邏輯移位運算邏輯移位運算Logical shift op

16、erations邏輯移位運算應用于不帶符號位的數(shù)的模式。邏輯移位運算應用于不帶符號位的數(shù)的模式。原因是這些移位運算可能會改變數(shù)的符號,原因是這些移位運算可能會改變數(shù)的符號,此符號是由模式中最左位定義的。此符號是由模式中最左位定義的。區(qū)分兩類邏輯移位運算,區(qū)分兩類邏輯移位運算,q 邏輯移位邏輯移位q 循環(huán)移位(旋轉(zhuǎn))循環(huán)移位(旋轉(zhuǎn))28Figure 4.3 邏輯移位運算邏輯移位運算 邏輯右移運算:把每一位向右移動一個位置。邏輯右移運算:把每一位向右移動一個位置。在在n位模式中,最右位被丟棄,最左位填位模式中,最右位被丟棄,最左位填0。邏輯左移運算:把每一位向左移動一個位置。邏輯左移運算:把每一位

17、向左移動一個位置。在在n位模式中,最左位被丟棄,最右位填位模式中,最左位被丟棄,最右位填0。q 邏輯移位邏輯移位29Example 4.10對位模式對位模式10011000使用邏輯左移運算。使用邏輯左移運算。解:解:最左位被丟棄,最左位被丟棄,0 0作為最右位被插入。作為最右位被插入。Discarded Added 30Figure 4.4 循環(huán)移位運算循環(huán)移位運算 q循環(huán)移位(旋轉(zhuǎn))循環(huán)移位(旋轉(zhuǎn))循環(huán)移位運算:沒有位丟棄或增加循環(huán)移位運算:沒有位丟棄或增加循環(huán)右移(右旋轉(zhuǎn)):每一位向右移動一個位置循環(huán)右移(右旋轉(zhuǎn)):每一位向右移動一個位置,最右位被回環(huán),成為最左位。,最右位被回環(huán),成為最左

18、位。31Example 4.11對位模式對位模式10011000使用循環(huán)左移運算。使用循環(huán)左移運算。解:解:最左位被回環(huán),成為最右位。最左位被回環(huán),成為最右位。32算術移位運算算術移位運算Arithmetic shift operations算術移位運算假定位模式是用二進制補碼格式表示的算術移位運算假定位模式是用二進制補碼格式表示的帶符號位的整數(shù)。這些運算不應改變符號位。帶符號位的整數(shù)。這些運算不應改變符號位。算術算術右移右移用來對整數(shù)除以用來對整數(shù)除以2 2:保留符號位保留符號位,同時把符號,同時把符號位復制到相鄰的右邊位。位復制到相鄰的右邊位。算術算術左移左移用來對整數(shù)乘以用來對整數(shù)乘以2

19、 2:丟棄符號位丟棄符號位,右插,右插0 0。( (判斷符號位判斷符號位:若符號不變,合法。否則溢出,非法:若符號不變,合法。否則溢出,非法) )Figure 4.5 算術移位運算算術移位運算 33Example 4.12對位模式對位模式10011001使用算術右移,使用算術右移,模式是二進制補碼格式的整數(shù)模式是二進制補碼格式的整數(shù) 解:解:最左位被保留,被復制到相鄰的右邊的位中。最左位被保留,被復制到相鄰的右邊的位中。原始數(shù)是原始數(shù)是-103,新的數(shù)是,新的數(shù)是-52,它是它是-103被除以被除以2并取整的結(jié)果。并取整的結(jié)果。 34Example 4.13對位模式對位模式11011001使用

20、算術左移,使用算術左移,模式是二進制補碼格式的整數(shù)模式是二進制補碼格式的整數(shù) 解:解:最左位被丟棄,最左位被丟棄,0 0作為最右位被插入。作為最右位被插入。原始數(shù)是原始數(shù)是-39,新數(shù)是,新數(shù)是-78,原始數(shù)被乘以,原始數(shù)被乘以2。因為沒有下溢的發(fā)生,所以運算合法。因為沒有下溢的發(fā)生,所以運算合法。35Example 4.14對位模式對位模式01111111使用算術左移,使用算術左移,模式是二進制補碼格式的整數(shù)。模式是二進制補碼格式的整數(shù)。 解解:最左位被丟棄,最左位被丟棄,0 0作為最右位被插入。作為最右位被插入。原始數(shù)是原始數(shù)是127127,新的數(shù)是,新的數(shù)是2 2。上溢發(fā)生上溢發(fā)生,結(jié)果

21、非法。,結(jié)果非法。期望是期望是127 127 2 = 254 2 = 254,該數(shù)不能用,該數(shù)不能用8 8位模式表示。位模式表示。左移判斷符號位,右移符號位保留左移判斷符號位,右移符號位保留 36Example 4.15邏輯運算和邏輯移位運算提供了操縱位模式的工具。邏輯運算和邏輯移位運算提供了操縱位模式的工具。假設有一個模式,在判斷過程中使用此模式的第三位假設有一個模式,在判斷過程中使用此模式的第三位(從右起),需要知道這特殊的位是(從右起),需要知道這特殊的位是0 0或或1 1。我們可以測試結(jié)果:我們可以測試結(jié)果:如果結(jié)果是無符號的整數(shù)如果結(jié)果是無符號的整數(shù)1 1,那么目標位就是,那么目標位

22、就是1 1;如果結(jié)果是無符號的整數(shù)如果結(jié)果是無符號的整數(shù)0 0,那么目標位就是,那么目標位就是0 0。374-3 算術運算算術運算 ARITHMETIC OPERATIONS算術運算包括加、減、乘、除等,算術運算包括加、減、乘、除等,適用于整數(shù)和浮點數(shù)。適用于整數(shù)和浮點數(shù)。38整數(shù)的算術運算整數(shù)的算術運算Arithmetic operations on integers 39二進制補碼整數(shù)的加減法二進制補碼整數(shù)的加減法Twos complement integers 整數(shù)通常以二進制補碼形式存儲。整數(shù)通常以二進制補碼形式存儲。模的概念可以幫助理解補碼:以模的概念可以幫助理解補碼:以12為模的系

23、統(tǒng)中為模的系統(tǒng)中,加,加9和減和減3效果一樣,凡是減效果一樣,凡是減3運算,都可以用運算,都可以用加加9來代替。對來代替。對“模模”而言,而言,9和和3互為補數(shù)?;檠a數(shù)。思考思考:把把1個整數(shù)加到它的補碼上的結(jié)果是什么?個整數(shù)加到它的補碼上的結(jié)果是什么?對于對于1個整數(shù)個整數(shù)B , B + ( B + 1) ?40二進制補碼整數(shù)的加減法二進制補碼整數(shù)的加減法Twos complement integers 補碼表示法的優(yōu)點:加法和減法之間沒有區(qū)別。補碼表示法的優(yōu)點:加法和減法之間沒有區(qū)別。當遇到減法運算時,計算機只簡單地把它轉(zhuǎn)變?yōu)楫斢龅綔p法運算時,計算機只簡單地把它轉(zhuǎn)變?yōu)榧臃ǎ瑢Φ诙€數(shù)進行

24、二進制的補碼運算。加法,對第二個數(shù)進行二進制的補碼運算。A B A + (B + 1) 這里的這里的(B + 1)表示表示B的補碼的補碼 41補碼:只需要討論加法補碼:只需要討論加法列列相加,若有進位,就加到下一列,舍最后一列進位列列相加,若有進位,就加到下一列,舍最后一列進位 每一列中,如果沒有進位,就兩位相加。每一列中,如果沒有進位,就兩位相加。如果有從前一列來的進位,就三位相加。如果有從前一列來的進位,就三位相加。下表顯示了進位下表顯示了進位(Carry)、和、和(Sum)。42Figure 4.6 二進制補碼格式表示的整數(shù)加法和減法二進制補碼格式表示的整數(shù)加法和減法 43Example

25、 4.16以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,A+B? 解:運算是相加,解:運算是相加,A被加到被加到B上,結(jié)果存儲在上,結(jié)果存儲在R中。中。A = (00010001)2 B = (00010110)2用十進制檢查結(jié)果:用十進制檢查結(jié)果: (+17) + (+22) = (+39).44Example 4.17以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,A+B? 解:運算是相加,解:運算是相加,A被加到被加到B上,結(jié)果存儲在上,結(jié)果存儲在R中。中。A = (00011000)2 B = (11101111)2用十進制檢查結(jié)果:用十進制檢查結(jié)

26、果:(+24) + (-17) = (+7)。45Example 4.18以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,A-B?解:相減,解:相減,A被加到被加到(B + 1)上,結(jié)果存儲在上,結(jié)果存儲在R中。中。A = (00011000)2 B = (11101111)2(+24) - (-17) = (+41)46Example 4.19以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,A-B?解:相減,解:相減,A被加到(被加到(B+1)上,結(jié)果存儲在)上,結(jié)果存儲在R中。中。A = (11011101)2 B = (00010100)2(35) (

27、+20) = (55).47Example 4.20以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,如何,如何A+B? 解:運算是相加,解:運算是相加,A被加到被加到B上,結(jié)果存儲在上,結(jié)果存儲在R中。中。A = (01111111)2 B = (00000011)2期望的結(jié)果是期望的結(jié)果是 127 + 3 = 130, 但答案是但答案是126。由于上溢,由于上溢,+130 不是不是128 +127之間的范圍。之間的范圍。P58錯錯 ,最右邊第一位沒有進位,最右邊第一位沒有進位48 課堂測驗課堂測驗 以二進制補碼格式存儲兩個整數(shù)以二進制補碼格式存儲兩個整數(shù)A和和B,解:解:1

28、、A+B=00010011 負負+負負=正正 , 發(fā)生溢出發(fā)生溢出 2、A-B=A+(B+1)=00010001 負負+正正 不會溢出不會溢出 173、B-A=B+(A+1)=11101111 負負+正正 不會溢出不會溢出 -17驗證驗證A=-110,B=-127A = (10010010)2 B = (10000001)2求求A+B? A-B? B-A?49當進行算術運算時,當進行算術運算時,要記住:每個數(shù)字和結(jié)果應該在分配的要記?。好總€數(shù)字和結(jié)果應該在分配的二進制位的定義范圍之內(nèi)。二進制位的定義范圍之內(nèi)。 i501、觀察法、觀察法正正+負,負負,負+正不會發(fā)生溢出正不會發(fā)生溢出正正+正(為

29、負,溢出),負正(為負,溢出),負+負(為正,溢出)負(為正,溢出)512、雙高位判別法、雙高位判別法最高位和次高位的進位是否相同?最高位和次高位的進位是否相同? 相同,不溢出;不同,溢出相同,不溢出;不同,溢出Cs表示符號位進位情況:表示符號位進位情況:l若符號位發(fā)生進位,則若符號位發(fā)生進位,則Cs=1,否則,否則Cs=0Cp表示最高位數(shù)值位進位情況:表示最高位數(shù)值位進位情況:l若最高數(shù)值位發(fā)生進位,則若最高數(shù)值位發(fā)生進位,則Cp=1,否則,否則Cp=052當兩個正數(shù)補碼相加時,若數(shù)值部分之和大于當兩個正數(shù)補碼相加時,若數(shù)值部分之和大于2n-1,則數(shù)值位必有進位,則數(shù)值位必有進位,Cp=1;

30、而符號位無進位,;而符號位無進位, Cs=0。則則Cs Cp的狀態(tài)為的狀態(tài)為01,溢出,溢出。當兩個負數(shù)補碼相加時,若數(shù)值部分絕對值之和大當兩個負數(shù)補碼相加時,若數(shù)值部分絕對值之和大于于2n-1,則數(shù)值部分補碼之和一定小于,則數(shù)值部分補碼之和一定小于2n-1,必有,必有Cp=0;而符號位卻有進位,;而符號位卻有進位, Cs=1。則則Cs Cp的狀態(tài)為的狀態(tài)為10,溢出,溢出。Cs Cp的狀態(tài)相同,即的狀態(tài)相同,即“00”或或“11”時,不溢出。時,不溢出。53符號加絕對值整數(shù)的加減法(原碼加減)符號加絕對值整數(shù)的加減法(原碼加減)sign-and-magnitude integers用符號加絕

31、對值表示的整數(shù)加減法看起來非常復雜。用符號加絕對值表示的整數(shù)加減法看起來非常復雜。有有4種不同的符號組合(正正,正負,負正,負負)種不同的符號組合(正正,正負,負正,負負)對于整數(shù)加減法要考慮對于整數(shù)加減法要考慮8種不同情況:種不同情況:正正,正負,負正,負負正正,正負,負正,負負正正,正負,負正,負負正正,正負,負正,負負但是,如果先檢查運算符號,則可以簡化這些情況但是,如果先檢查運算符號,則可以簡化這些情況如圖如圖4-7所示。所示。54 Figure 4.7 符號加絕對值格式的整數(shù)的加法和減法符號加絕對值格式的整數(shù)的加法和減法55符號加絕對值格式的整數(shù)的加法和減法計算步驟:符號加絕對值格式

32、的整數(shù)的加法和減法計算步驟:1、判斷加法減法運算,、判斷加法減法運算, 若相加,則若相加,則B的符號位的符號位Bs不變不變 若相減,則若相減,則B的符號位的符號位Bs取反,即取反,即Bs 2、判斷、判斷As和和Bs的符號是否相同,的符號是否相同, 若相同若相同As XOR Bs0,則,則RMAMBM,RsAs (符號相同,判斷(符號相同,判斷RM是否上溢)是否上溢) 若不同若不同As XOR Bs1,則,則判斷判斷AM和和BM的大小的大小 若若AMBM,則,則RsAs, RMAM(BM+ 1) 若若AMBM,則,則RsBs, RMAM(BM+ 1) 最終最終RM要取補碼,要取補碼, RMRM+

33、 156Example 4.21以符號加絕對值格式存儲兩整數(shù)以符號加絕對值格式存儲兩整數(shù)A和和B,如何,如何AB?解:解:1. 相加,相加,B的符號位的符號位Bs不變不變 2. AS XOR BS = 0,A和和B的符號相同,的符號相同, 則則RM = AM + BM,RsAs 符號相同,判斷符號相同,判斷RM是否溢出是否溢出 沒有溢出,所以沒有溢出,所以R 00100111 (+17) + (22) = (39)。 A = (0 0010001)2 B = (0 0010110)257Example 4.22以符號加絕對值格式存儲兩整數(shù)以符號加絕對值格式存儲兩整數(shù)A和和B,如何,如何AB ?

34、解:解:相加,相加,B的符號沒有改變的符號沒有改變S = AS XOR BS = 1; RM = AM + (BM +1)。AMBM,則,則RsAs,RM 的值就是最終的值。的值就是最終的值。(81) (22) = (59)。A = (1 1010001)2 B = (1 0010110)2書書P60錯錯 運算是相減,運算是相減,BS 59實數(shù)的算術運算實數(shù)的算術運算Arithmetic operations on reals加、減、乘、除的算術運算都能用于浮點數(shù)格式加、減、乘、除的算術運算都能用于浮點數(shù)格式存儲的實數(shù)上。存儲的實數(shù)上。兩實數(shù)乘法涉及兩個用符號加絕對值表示的整數(shù)兩實數(shù)乘法涉及兩

35、個用符號加絕對值表示的整數(shù)乘法;兩實數(shù)除法涉及兩個用符號加絕對值表示乘法;兩實數(shù)除法涉及兩個用符號加絕對值表示的整數(shù)除法。的整數(shù)除法。本課程只討論實數(shù)的加法和減法。本課程只討論實數(shù)的加法和減法。60實數(shù)的加減法實數(shù)的加減法Addition and subtraction of reals以浮點數(shù)格式存儲的實數(shù)加法和減法簡化為:以浮點數(shù)格式存儲的實數(shù)加法和減法簡化為:小數(shù)點對齊后以符號加絕對值格式(小數(shù)點對齊后以符號加絕對值格式(符號和尾數(shù)符號和尾數(shù)的組合的組合)存儲的兩整數(shù)的加法和減法。)存儲的兩整數(shù)的加法和減法。圖圖4-8顯示了處理過程。顯示了處理過程。61 Figure 4.8 浮點數(shù)格式

36、實數(shù)的加法和減法浮點數(shù)格式實數(shù)的加法和減法 62實數(shù)的加減法實數(shù)的加減法Addition and subtraction of reals處理過程:處理過程:1、判斷、判斷A、B是否為是否為0,可直接輸出,可直接輸出R=A或或B2、如果、如果A-B,需要改變,需要改變Bs3、去規(guī)范化(尾數(shù)隱含的、去規(guī)范化(尾數(shù)隱含的1,增加指數(shù)),增加指數(shù))4、對齊指數(shù)(移位尾數(shù))、對齊指數(shù)(移位尾數(shù))如如1.11101*24+1.01*22,需要對齊,需要對齊,去規(guī)范化,去規(guī)范化, 0.111101*25+0.101*23指數(shù)對齊,變?yōu)橹笖?shù)對齊,變?yōu)?, 0. 111101 *25+0.00101*25 5、符號和尾數(shù)的組合相加(符號加絕對值)、符號和尾數(shù)的組合相加(符號加絕對值)6、規(guī)范化、規(guī)范化 1.000111*25 (書(書P62錯)錯) 63Example 4.24計算機是如何計算結(jié)果的:計算機是如何計算結(jié)果的:(+5.75) + (+161.875) = (+167

溫馨提示

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

評論

0/150

提交評論