第三章 計算機中的運算
阿新 • • 發佈:2018-12-15
考綱要求:計算機中的基本運算,包括邏輯及移位運算;定點數的加(減)、乘、除法運算;浮點數的加(減)、乘、除法運算;運算器的設計,包括算術邏輯單元ALU、串/並行加法器、浮點運算器等。
計算機中的基本運算
邏輯運算
清除運算
置一運算
邏輯與運算
邏輯或運算
異或運算
移位運算
邏輯移位運算
邏輯移位規則:邏輯左移時,高位移丟,低位補0;邏輯右移時,低位移丟,高位添0。
算術移位運算
碼值 | 添補程式碼 | 產生影響 | |
---|---|---|---|
正數 | 原碼、補碼、反碼 | 0 |
左移時最高數位丟1,結果出錯 右移時最低數位丟1,影響精度 |
負數 | 原碼 | 0 | 左移時最高數位丟1,結果出錯右移時最低數位丟1,影響精度 |
補碼 | 左移添0 |
左移時最高數位丟0,結果出錯 |
|
右移添1 | 右移時最低數位丟1,影響精度 | ||
反碼 | 1 |
左移時最高數位丟0,結果出錯 右移時最低數位丟0,影響精度 |
定點數運算
加法運算
二進位制原碼加(減)法
二進位制補碼加(減)法
- 參與運算的運算元用補碼錶示
- 採用兩位符號位,即採用變形補碼錶示
- 符號位作為數的一部分參與運算
- 運算結果以補碼錶示,若兩符號位相同,結果正常;若符號位為01,表示正溢位;若符號位為10,表示負溢位
二進位制移碼加(減)法
- 參與運算的運算元用移碼錶示
- 採用兩位符號位,即用變形移碼錶示
- 符號位作為數的一部分一起參與運算
- 運算結果以移碼錶示,若第一位符號為0,結果正常;若第一位符號為,表示溢位:符號位為10表示正溢位,符號位為11表示負溢位
乘法運算
原碼一位乘法
補碼一位乘法(Booth乘法)
- 被乘數和部分積取兩位符號位,乘數取一位符號位,並參與運算
- 乘數末尾增設附加位,其初始值為0
- 和構成各步運算的乘數判斷位,按照下表所示方法進行操作
- 按照補碼移位規則,部分積右移時末端觸發器補入第一位符號位
- 進行到第n+1步,但第n+1步的部分積不再移位
操作 | ||
---|---|---|
00 | 0 | 部分積右移一位 |
01 | 1 | 部分積加補,再右移一位 |
10 | -1 | 部分積加補,再右移一位 |
11 | 0 | 部分積右移一位 |
除法運算
原碼一位加減交替法:
- 商的符號位單獨處理,=.
- 取絕對值(原碼尾數)相除,為不使商溢位,要求被除數絕對值小於除數絕對值,即,除法第一步做減法
- 由於加減法操作是由余數的符號位控制,且要等餘數左移一位後再進行操作,這時餘數的符號位可能被破壞,因此運算中被除數和除數和餘數應設兩位符號位
- 當餘數R為正,商
補碼一位比較除法
浮點數的運算
浮點加減運算
浮點乘法運算
浮點乘法是將兩個規格化的浮點數相乘。規格化浮點乘法運算可分為四步:判零並置結果數符,階碼相加,尾數相乘,規格化、判溢位與舍入
浮點除法運算
判零並置商符,尾數調整,階碼相減,尾數相除