如何使用二进制补码将十六进制手动转换为十进制

时间:2019-02-15 22:52:44

标签: hex decimal

我似乎无法找到有关如何使用二进制补码示例AD100002将十六进制转换为十进制的答案,我已经知道如何对无符号的补码而不是符号2的补码进行计算。 任何帮助都会做或实例化) (谢谢您的时间)
(对不起,英语不好。)

{无符号}->(AD100002 =(10×16⁷)+(13×16⁶)+(1×16⁵)+(0×16⁴)+(0×16³)+(0×16²)+(0× 16¹)+(2×16⁰)= 2903506946)。

1 个答案:

答案 0 :(得分:1)

对二进制/十六进制值的二进制补码的基本解释是翻转每个数字然后加1。例如,假设我们具有以下值:

0xA5

要做的第一件事是将值转换为二进制数:

0xA5 -> 10100101

要执行二进制补码,请翻转所有位:

10100101
   ||
   \/
01011010

,然后添加1:

01011011

将此二进制数转换为十进制数将产生91。因此,十六进制值“ 0xA5”的二进制补码为-91。

(如果将十六进制值视为整数的有符号位表示形式,则仅在二进制表示形式的最高有效位为1时才执行二进制补码。如果为0,则将其余位视为正常。)