问题描述
我必须将9820和4823乘以14-补码。我知道结果是C7A75060,但我不知道如何到达那里。当我必须将8与4823相乘时,会出现2893A的问题,但我知道这是错误的。我该怎么办?
解决方法
您必须小心使用base-complement来跟踪您拥有的位数,因此您知道哪个位数包含(名义)符号。假设您正在(尝试)将4位以14为底的补码组合成8位以14为底的补码,那么您需要小心对待高位数字。因此9
和4
是符号数字,而9
表示负数。因此,当您尝试将9
与4823
混合使用时,实际上可能是您的最后一步,您实际上应该像-5 * 4823 = -18CB1 = C512D
那样做。将其与其他部分产品结合起来
0 * 4823 = 00000
2 * 4823 = 09246
8 * 4823 = 2893A
-5 * 4823 = C512D
---------
C7A75060
另一种等效的方法是将符号视为(额外)独立数字:
0 * 4823 = 00000
2 * 4823 = 09246
8 * 4823 = 2893A
9 * 4823 = 2D35D
-1 * 4823 = 95BB
---------
C7A75060