9820和4823之间的14补码乘法

问题描述

我必须将9820和4823乘以14-补码。我知道结果是C7A75060,但我不知道如何到达那里。当我必须将8与4823相乘时,会出现2893A的问题,但我知道这是错误的。我该怎么办?

解决方法

您必须小心使用base-complement来跟踪您拥有的位数,因此您知道哪个位数包含(名义)符号。假设您正在(尝试)将4位以14为底的补码组合成8位以14为底的补码,那么您需要小心对待高位数字。因此94是符号数字,而9表示负数。因此,当您尝试将94823混合使用时,实际上可能是您的最后一步,您实际上应该像-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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...