【发布时间】:2014-11-11 04:11:46
【问题描述】:
我正在尝试将以下十六进制值的二进制补码转换为十进制值:
23、57、94 和 87。
a) 23
过程:(3 x 16^0) + (2 x 16^1) -> (3) + (32) = 35(正确)
b) 57
过程:(7 x 16^0) + (5 x 16^1) -> (7) + (80) = 87(正确)
对于 94 和 87,正确的值分别是 -108 和 -121。
如果我按照用于数字 a) 和 b) 的程序进行操作,我会得到 148 和 128 对应 94 和 87。
由于我的错误,有人可以向我解释如何获得正确的结果吗?我需要先将字节转换为二进制,然后再从那里继续吗?
提前非常感谢!
【问题讨论】:
标签: binary decimal hex twos-complement