什么是32位二进制补码?

时间:2016-10-17 21:49:03

标签: binary cpu-architecture twos-complement

我真的很困惑这个术语" 32位二进制补码"

如果我有数字9,那么32位二进制补码是什么?

9 = 1001

两个补码= 0111

32位9 = 0000 0000 0000 0000 0000 0000 0000 1001

两个补码= 1111 1111 1111 1111 1111 1111 1111 0111

结果太荒谬了!它的方式太大了!这真的是你应该怎么做的吗?

1 个答案:

答案 0 :(得分:0)

用于表示现代计算机中有符号整数的最常用格式是两个补码。二进制补码表示允许对有符号整数使用二进制算术运算。

正2的补数用简单二进制表示。

负2的补数表示为二进制数,当加到相同幅度的正数时等于零。

你的2的补充输出相当于-9(负9)。

<强>编辑:

要求您执行32位操作,因此它应为1111 1111 1111 1111 1111 1111 1111 0111

对于带符号的数字,最左边的位代表数字的符号。如果最左边的位(LSB)为1则数字为负,否则为正。因此,你的32位2的补码是负数,它是-9。 简单地说,对一个数字执行2的补码相当于否定它 即它使正数变为负数,反之亦然。 欲了解更多信息,请访问以下链接:

http://www.tfinley.net/notes/cps104/twoscomp.html