如何从一个补码转换为两个补码

Use*_*oon 2 twos-complement

我很困惑如何从一个补码转换为两个补码.假设我们在一个补码中有10101101.如何将其转换为二进制补码?

谢谢

lur*_*ker 7

看看定义:

一个补码意味着值的否定位是原始中所有位的补码(反转).

N比特数的二进制补码被定义为从2 ^ N减去原始N比特数的结果.此操作的效果与原始数字的结果相同,即取一个补码并加1.

在这种情况下,如果10101101是一个补码,只需加一个得到两个补码即可10101110.或者,做得很久:

  1. 一个补码= 10101101
  2. 原始数= 01010010(反转一个补码的每个定义的位)
  3. 二的补码= 2^8 - 01010010= 100000000 - 01010010=10101110