補碼一位乘法運算 個人總結方法

2021-10-04 02:19:33 字數 811 閱讀 6262

個人總結觀點,如有問題歡迎指出,作為小白,會在批評中努力成長!

1.運算法則

首先,根據題中所給的x,y的值依據補碼的相關定義,寫出x,y的補碼,同時寫出被乘數 例:[-x]的補碼 (要帶上符號位哦)

然後書寫部分積(部分積的初始值為00.0000)乘數 (y的小數點後的值)

補碼一位乘法計算的關鍵主要在於位置的移動,此方法為被乘數x,和乘數y的同時移動進行計算,乘數始終保持和原來相同的位數,在被乘數進行計算以後,找到運算後的最後一位,把被乘數的最後一位,移動到乘數的第一位上

第一步:如果乘數的最後一位如果是1的話,部分積加上【x】的補碼,如果乘數最後一位是0的話,相當於沒變直接進行第二步操作。

第二步:(挺關鍵的如果看不懂下面有例題)

向右移動——在第一步所得到的被乘數最後一位充當乘數的第一位,乘數的最後一位捨掉;

被乘數最左邊填的值:

如果x是負數的話,最左邊填1;如果x是正數的話,最左邊填0;

以此類推。。。移動到原先乘數的第一位停止,得到的值就是最後的答案

觀點不多,例題來湊:

x=-0.1101 y=-0.1001 求 x x y 的值

這是一道乘數和被乘數都是負數的乙個問題,也是比較複雜的了。

補充:當乘數為正時,可按原碼一位乘法的規則運算,結果不需要校正。

當乘數為負時,先把[y]補的符號位丟掉不管,仍按原碼一位乘運算,最後 加[–x]補進行校正。

有問題可直接私聊!!

希望大家多多批評指正。

原碼一位乘法和補碼一位乘法

原碼乘法遵循的規則如下 比如 a 0.1101,b 0.1011,求a b的積?詳細計算過程如下圖 符號位與符號進行計算.a的符號位為 1,b的符號位為 1.兩個符號進行異或運算最後的符號仍然是 1.數值位乘以數值位.a 0.1101,b 0.1011.我們採用雙符號位來進行計算.a 00.1101...

原碼一位乘法

1.手算乘法 鋪墊 例子 13 11 143 被乘數不動,從乘數最低位開始,每一位乘上被乘數,將所得的結果 部分積 記下,再從比最低位高一位的數字開始如上迴圈,直至乘數的最高位也計算完畢。最終將每一豎列的數值相加即可得出結果。按照我們小學所學的乘法計算公式應該如上圖所示沒有問題,我們教科書裡說的原碼...

Booth演算法 補碼一位乘法公式推導與解析

以下講解內容出自 計算機組成原理 第三版 清華大學出版社 大二學生乙隻,我的計組老師比較划水,不講公式推導,所以最近自己研究了下booth演算法的公式推導,希望能讓同樣在研究booth演算法的小夥伴少花點時間。下面將對上圖公式方框中部分進行講解。首先要擺明乙個公式。公式x b 補 b 補 b 補 b...