我正在努力将十进制数转换为2的补码二进制数。 我理解这个概念;
所以我一直试图转换92(基数10)
92 -> Hex = 5c
5C == 5 12 -> Binary = 01011100
Inverting = 10100011
+ 1
=10100100
但我用来查看答案的在线转换器说:01011100 我做错了什么?我知道最重要的位应该是0,因为数字是正数。但除此之外,我很困惑。
更新
这是因为正数不需要切换为符号幅度吗? 因此,在做2的补码之前和之后,数字保持不变?
意思是,我得到的答案是 实际上 负面解释; -92
答案 0 :(得分:2)
仅反转它并在您尝试表示负数时添加1,正数用正常二进制表示。 (你的正数范围越小)。