Math 14 9820和4823之间的补码乘法

Math 14 9820和4823之间的补码乘法,math,integer,multiplication,complement,Math,Integer,Multiplication,Complement,我必须把9820和4823乘以14补。我知道结果是C7A75060,但我不知道如何到达那里。我的问题是当我必须用8乘以4823,我得到2893A,但我知道这是错误的。如何处理这个问题?您必须小心使用基数补码来跟踪您有多少个数字,以便知道哪个数字包含(概念)符号。假设您正在(尝试)将4位碱基-14补码叠加以获得8位碱基-14补码,则需要仔细处理顶部的数字。因此9和4是符号数字,9表示负数。因此,当您尝试将9与4823混合使用时,问题可能出现在您的最后一步中,您实际上应该按照-5*4823=-18C

我必须把9820和4823乘以14补。我知道结果是C7A75060,但我不知道如何到达那里。我的问题是当我必须用8乘以4823,我得到2893A,但我知道这是错误的。如何处理这个问题?

您必须小心使用基数补码来跟踪您有多少个数字,以便知道哪个数字包含(概念)符号。假设您正在(尝试)将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

也许你可以解释一下(或参考网页)14补码乘法是什么意思?这似乎不是一个标准的编程术语。@JohanC:它就像两个补码运算,但是,@PresidentJamesK.Polk非常感谢您的澄清。补码部分似乎与负数有关,也需要为负数设置固定的位数。所以,有人可能会把这个问题解释为关于14进制的计算?@JohanC:我就是这么解释的。我不知道补足业务是从哪里来的,如果有的话。可能是因为溢出?所以前导数字7或更大意味着它是负数?是的——前导数字>=base/2是符号的编码方式。