90 likes | 360 Views
3.4 不同數系的加法和減法. 無符號整數的加法和減法 上溢錯誤 電腦會採用某長度位元表達數值,但若運算時或所得的結果超出這些位元所能表達的範圍時,便會發生錯誤。例如:. 電腦用 8 位元表達每數值 . 1111 0000 + _ 0001 1100 1 0000 1100. 0000 1000 – _ 0001 1000. 只得 8 位元,會無法繼續運算不能借位. 進位不能貯存在 8 位元的範圍中,但若忽略此重要位元,結果就會不正確. 上溢錯誤的例子. 現實情況,日常生活總會涉及負數。電腦會採用二補碼 加法進行運算。. 二補碼的加法.
E N D
3.4 不同數系的加法和減法 • 無符號整數的加法和減法 • 上溢錯誤 • 電腦會採用某長度位元表達數值,但若運算時或所得的結果超出這些位元所能表達的範圍時,便會發生錯誤。例如: 電腦用8位元表達每數值 1111 0000 +_ 0001 1100 1 0000 1100 0000 1000 – _ 0001 1000 只得8位元,會無法繼續運算不能借位 進位不能貯存在8位元的範圍中,但若忽略此重要位元,結果就會不正確 上溢錯誤的例子
現實情況,日常生活總會涉及負數。電腦會採用二補碼現實情況,日常生活總會涉及負數。電腦會採用二補碼 加法進行運算。 二補碼的加法 小心研究以下5個情況使用 8 位元二補碼表達式的運算,並辨識上溢錯誤會否發生。 電腦仍會用8位元表達每數值
活動 3 二補碼的加法 1.12010 + 1210 12010 的二補碼表達式 = 0111 10002 1210 的二進制表達式 = 2 0111 1000 +______ 結果數值的符號位(等於 / 不等於)運算數的符號位。 上溢錯誤( 會 / 不會)發生。 0000 1100 0000 1100 1000 0100
活動 3 二補碼的加法 2.–2410 – 9610 減法能以加法表達式來表達:____ + ____ 。 –2410 的二補碼表達式 = _____2 –9610 的二補碼表達式 = _____2 +______ -2410 (-9610) 1110 1000 1010 0000 結果的數值部分10000111 01111000 8+16+32+64=120 加入負號 -120 1110 1000 1010 0000 11000 1000 結果數值的符號位( 等於 / 不等於)運算數的符號位。 上溢錯誤( 會 / 不會)發生。
3.利用 8 位元二補碼表達式來計算–1110 + 2010。 答案 –1110 的二補碼表達式 = 1111 01012 2010的二補碼表達式= 0001 01002 總和是 0000 10012(等於 910)。 1111 0101 +_ 0001 0100 1 0000 1001 ( 由於兩個數字的正負號不同,上溢錯誤不會發生,而進位位元應被忽略。) 忽略
4. 利用 8 位元二補碼表達式來計算 –3310 – 6510。 答案 減法表達式可被視為一個加法表達式–3310 + (–6510)。 –3310 的二補碼表達式 = 1101 11112 –6510 的二補碼表達式 = 1011 11112 因此,結果是1001 11102(等於 –9810)。 1101 1111 +_ 1011 1111 1 1001 1110 (由於結果數值與兩個運算數有相同的符號位,上溢錯誤沒有發生,而進位位元可被忽略。) 忽略 符號位
5. 利用 8 位元二補碼表達式來計算–3310 – 10010。 答案 減法表達式可被視為一個加法表達式–3310 + (–10010)。 –3310 的二補碼表達式= 1101 11112 –10010 的二補碼表達式= 1001 11002 因此,不能利用 8 位元二補碼表達式來計算這條算術的結果。 1101 1111 +_ 1001 1100 1 0111 1011 (由於結果數值與兩個運算數有不同的符號位,上溢錯誤發生。) 忽略
3.4 不同數系的加法和減法 • 二補碼的加法 • 當兩個正負號相同的數字相加,而結果為相反符號時,便表示上溢錯誤發生。