我对如何从一个补码转换为两个补码感到困惑。 假设我们在一个补码中有10101101。如何将其转换为二进制补码?
由于
答案 0 :(得分:7)
看看定义:
补充意味着否定值的位是原始位中所有位的补码(反转)。
N比特数的二进制被定义为从2 ^ N减去原始N比特数的结果。此操作的效果与原始数字的结果相同,即取一个补码并加1。
在这种情况下,如果10101101
是唯一补码,只需添加一个即可获得两个补码,即10101110
。或者,做得很好:
10101101
01010010
(根据一个补码的每个定义反转位数)2^8 - 01010010
= 100000000 - 01010010
= 10101110