基4 Booth(布思)编码的计算过程

数值位是奇数(不算符号位),最后一步移一位
数值位是偶数(就扩展一位符号位),最后一步移两位
但是
01111110(0) Y 数值位个数是奇数
10101010 X -X=01010110 -2X=010101100 2X=101010100

1.100 + -2X 右移两位
0001 0101 1000 0000
2.111 右移两位
0000 0101 0110 0000
3.111 右移两位
0000 0001 0101 1000
4.011 + +2X 右移一位
1101 0101 1010 1100
答案正确

但是如果Y X倒过来
01111110 X -X=1000 0010 -2X=1000 00100 2X=0111 11100
10101010(0) Y
1.100 + -2X 右移两位
1110 0000 1000 0000
2.101 + -X 右移两位
0001 1000 1010 0000
3.101 + -X 右移两位
1110 0110 1010 1000
4.101 + -X 右移一位
0011 0100 0101 0100
这个答案就差的离谱了,请教这是为什么,高分请教

我仔细看了一遍
起初也没发现问题
当我仔细看第二遍时
我发现有错误
具体哪里先不给你指出
你自己找出错误才会印象深刻
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-09
第二段存在错误,你修改下吧。