如何使用Two's Complement将manualy十六进制转换为十进制

问题描述 投票:1回答:1

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

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

hex decimal
1个回答
1
投票

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

0xA5

首先要做的是将值转换为二进制数:

0xA5 -> 10100101

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

10100101
   ||
   \/
01011010

然后添加1:

01011011

将此二进制数转换为十进制数得到91.因此,二进制值“0xA5”的两个补码是-91。

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

© www.soinside.com 2019 - 2024. All rights reserved.