计算机乘除法运算中部分积和余数的符号位选择与位移的关系
1.原碼一位乘
原碼一位乘部分積采取一位符號位,邏輯左移
我們其實可以采取雙符號位,最高位代表正在符號位,但是我們可以看到,如果采取雙符號位的話,由于是絕對值參與的運算,最高符號位一定是0,所以就沒有必要,如果我們硬要采取雙符號位也未嘗不可,只是我們選擇算術右移。最高位代表真正符號位,次高位參與移位。我們還要了解到
有多位符號位時,最高位代表正真符號位,不參與算術移位,其余符號位參與算術移位
2.原碼兩位乘
原碼兩位乘部分積采用三位符號位,算術移位
博主其實不是很理解為啥非要采用三位符號,兩位符號位加不就OK了嗎,今天終于給老子看懂了,真是不得不佩服膜拜前輩們的聰明才智(估計以后會讓我五體投地)
按照原碼一位乘的想法,其實兩位符號位正好可以滿足部分積相加,再配合邏輯移位。但是這中間有錯誤,當我們加上負x的補碼,這時候就會出現小于0的情況,但是邏輯移位后的值是一個大于0的結果,很明顯和結果不符合,所以才有三位符號位,加算術右移就很好的解決了這個問題
3.補碼一位乘與補碼兩位乘
補碼一位乘部分積符號位采用雙符號位,算術右移
補碼兩位乘采用三位符號位,算術右移
一位和兩位乘原理差不多,這里就只介紹補碼一位乘
其實理由很簡單如果部分積采用單符號位,那么采用邏輯右移會和出現和原碼兩位乘同樣的結果,所以采用雙符號位算術右移
4.原碼除法
原碼除法余數與商符號位取一位,邏輯左移
此處由于是左移,我們知道補碼的左移和原碼一樣,所以即使出現余數為負數的情況也不會出現錯誤。當然我們也可以取雙符號位,算術左移
5.補碼除法
補碼除法符號位自然形成,余數與商符號位取一位,邏輯左移
總結
以上是生活随笔為你收集整理的计算机乘除法运算中部分积和余数的符号位选择与位移的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计组第六章——计算机的运算方法重点总结
- 下一篇: 美团面试动态规划——整数拆分