【问题标题】:Decimal <--> Two's Complement <--> Hex conversion十进制 <--> 补码 <--> 十六进制转换
【发布时间】:2014-04-16 07:09:35
【问题描述】:

我想知道我是否会收到类似以下的问题:

“将十进制数转换为二进制补码,然后用十六进制给出答案”。

下面是路径吗,怎么办?

十进制数:-23

23 = 00010111 = 十六进制 17 = -17

-23 = 11101001 = 十六进制 E9

那么要将其转换为十六进制,答案是 -17 还是 E9?

谢谢

【问题讨论】:

    标签: hex decimal twos-complement


    【解决方案1】:

    -17 在这里没有相关性,因为根据您的任务,您必须将二进制补码返回为 HEX,即E9

    您的转化路径在我看来总体上是正确的。

    1. DEC 到不带符号的 BIN:
      • 23 → 0001 0111
    2. 否定 BIN 字符串:
      • 0001 0111 → 1110 1000
    3. 1 添加到取反的 BIN 结果中:
      • 1110 1000 + 0000 0001 → 1110 1001
    4. 验证正确的二进制补码计算:
      • -128 + 64 + 32 + 8 + 1 = -23 → 正确
    5. 将最终的 BIN 字符串转换为 HEX:
      • 1110 1001 → 0xE9

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      相关资源
      最近更新 更多