十进制< - >两个补语< - >十六进制转换

时间:2014-03-12 09:07:36

标签: hex decimal twos-complement

我想知道我是否有这样的问题:

  

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

下面的路径是怎么做的?

十进制数:-23

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

-23 = 11101001 =十六进制E9

所以要将它转换为Hex,答案是-17还是E9?

由于

1 个答案:

答案 0 :(得分:3)

-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