将小数转换为 2 的补码

Converting decimal to 2's complement

我正在研究将十进制数转换为 2 的补码二进制数。 我理解这个概念;

  1. 将数字转换为十六进制(基数 16)
  2. 将结果转换为二进制(填充到 8 位)
  3. 反转所有位并加 1

所以我一直在尝试转换 92(base 10)

92 -> Hex = 5c
5C == 5 12 -> Binary = 01011100
Inverting = 10100011
           +       1
           =10100100

但是我用来检查答案的在线转换器说:01011100 我做错了什么?我知道最高有效位应该是 0,因为数字是正数。但除此之外,我很困惑。

更新

这是因为正数不用换符号吗? 所以,做2的补码前后数是一样的吗?

也就是说,我得到的答案是其实是否定的解释; -92?

仅当您尝试表示负数时将其取反并加 1,正数用普通二进制表示。 (你得到的正数范围更小)。