原碼一位乘法與補碼一位乘法


邏輯移位與算術移位

  • 邏輯移位:不管邏輯左移還是邏輯右移缺位補0
  • 算術移位:1.無符號型值,和邏輯移位相同 2.有符號型值,根據符號位補缺位(和符號位相同)

 

在下面的原碼一位乘和補碼一位乘都遵循以下規則:

  • 1.多余進位舍去
  • 2.一直執行到乘數被用完(被移除完)
  • 3.原碼最后需要一位,補碼不需要移位
  • 4.原碼補碼一位乘取值都不去原乘數的數

 

原碼一位乘法

定義:

符號位單獨參加運算,數據位取絕對值,每次將一位乘數對應的部分積與原部分積的累加和進行相加,並右移一位,直到乘數的所有位被用完。

 

舉例

X=0.1101,Y=-0.1011,求XY

1.設置部分積,乘數與被乘數的絕對值

A=00.0000,B=|X|=00.1101,C=.1011

2.若判斷位(C的最后一位)為0,則部分積+0000;若為1,部分積+B

 

 

接着我們對符號的確定,是通過對被乘數與乘數的符號位進行異或判斷的。

XY=(0⊕1).10001111=1.10001111

 

 

補碼一位乘

補碼一位乘在操作和判斷位上和原碼一位乘有區別(原碼一位乘為一位,補碼一位乘為兩位)

 

例題:X=-01101,Y=-01011,求[XY]=?

 

做這道我們首先需要了解,兩位判斷位對應的操作

判斷位 操作
00 右移一位
01 +B,再右移一位
10 -B,再右移一位
11 右移一位

 

 B補,-B補,C分別對應 [X]補,[-X]補,[Y]補

所以我們直接可以得到,XY=0010001111


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM