【发布时间】:2014-10-30 16:29:01
【问题描述】:
我对如何从一个补码转换为二进制补码感到困惑。 假设我们在一个补码中有 10101101。如何将其转换为二进制补码?
谢谢
【问题讨论】:
标签: twos-complement
我对如何从一个补码转换为二进制补码感到困惑。 假设我们在一个补码中有 10101101。如何将其转换为二进制补码?
谢谢
【问题讨论】:
标签: twos-complement
只看定义:
一个补码表示该值的否定位是原始位中所有位的补码(反转)。
N 位数的补码定义为从 2^N 中减去原始 N 位数的结果。此操作对原数的效果与取反码加 1 的结果相同。
在这种情况下,如果10101101 是一个补码,只需加一即可得到两个补码,即10101110。或者,从长远来看:
10101101
01010010(根据补码的定义反转位)2^8 - 01010010 = 100000000 - 01010010 = 10101110
【讨论】: