补码一位乘法中,部分积为什么采用双符号位

如题所述

补码1位乘法是由重复加和移位操作实现的移位时按补码右移规则进行。以小数乘法为例由于乘法过程中相加结果可能大于1即小数点前面第一位为数值占去了符号位的位置,此时符号位被覆盖,但问题并不在此,问题在于补码是算数移位,刚刚进的一位本是数值位,现在确无法参与移位,所以导致移位出错。而若部分积采用双符号位并以最高位代表真正的符号就可避免移位时出错的现象,因为最坏只会出现第二个符号位被数值覆盖,此时第二个符号位算作数值部分参与移位,第一个符号位表示真正的符号位。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-12
用两个二进制位来表示数字的符号位,其余数值位与普通补码相同。
用变形补码进行加减运算时,可依据双符号位判断如下四种情况:
11 -----运算结果为负数;
00 -----运算结果表示正数;
10 -----运算结果下溢(负向溢出);
01 -----运算结果上溢(正向溢出)。本回答被网友采纳
相似回答