進行保存運算使用兩倍的位數,一個字保存「虛擬總和」,一個保存「虛擬進位」以避免傳播進位,這是硬件速度的限制因素。右移進位保存號
我有一個系統,需要將這些數字除以2的冪,但只是將這兩個數字正確地轉換在所有情況下都不起作用,例如。兩個16位進位保存號碼,您添加產生4000,C001是虛擬總和,7FFF是虛擬進位。
C001 + 7FFF = 4000 (discard overflow bits)
but after right shift
6000 + 3FFF = 9FFF (when it should be 2000)
簡而言之:如何將進位保存數除以2的冪數? (保留一個進位存儲號碼)
你能解釋你的線條的含義嗎? c001 7fff = 4000是什麼意思? –
增加了一點。在所有操作中,您添加虛擬進位和虛擬保存以獲取普通二進制數 – StanOverflow