我算的这个booth算法哪错了,

问题描述:

我算的这个booth算法哪错了,
这是唐朔飞的组成原理的例6.21,
[x]补=0.1101 [y]补=0.1011 求[xy]补
我做的时候先求出[-x]补=1.0011
然后看[y]补=0.101(10),为10,所以要加[-x]补,得
0.0000
+ 1.0011
= 1.0011 再右移一位得0.10011
然后看[y]补=0.10(11),为11,所以直接右移一位得 0.010011
然后看[y]补=0.1(01)1,为01,所以要加[x]补,得
0.010011
+ 0.1101
= 1.000111 再右移一位得0.1000111
然后看[y]补=0.(10)11,为10,所以要加[-x]补,得
0.1000111
+ 1.0011
= 1.1011111 再右移一位得0.11011111
然后看[y]补=(0.1)011,为01,所以要加[x]补,得
0.11011111
+ 0.1101
= 1.10101111
因为是最后一步,所以不移位,得1.10101111
但是书上的答案是0.10001111
书上的计算过程写的我看不懂,我觉得我算的和书上的递推公式一样啊,请问我这样算的到底哪错了?
书上在原码一位乘那说右移是逻辑右移,所以我就在这也用的逻辑右移,高位补0,这样没错吧

例:[x]补=0.0101,[y]补=1.0101 求:[x· y]补.其中乘数取两位符号位即11.0101,[-x]补=1.1011取三符号位为111.1011.部分积 乘数 说 明000.0000 + 000.01011101010判断位为010,加[x]补000.0101000.0001+ 000.01010111...