进行保存运算使用两倍的位数,一个字保存“虚拟总和”,一个保存“虚拟进位”以避免传播进位,这是硬件速度的限制因素。右移进位保存号
我有一个系统,需要将这些数字除以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