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

個人總結觀點,如有問題歡迎指出,作爲小白,會在批評中努力成長!
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]補進行校正。
有問題可直接私聊!!
希望大家多多批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章