我真的很困惑这个术语" 32位二进制补码"
如果我有数字9,那么32位二进制补码是什么?
9 = 1001
两个补码= 0111
32位9 = 0000 0000 0000 0000 0000 0000 0000 1001
两个补码= 1111 1111 1111 1111 1111 1111 1111 0111
结果太荒谬了!它的方式太大了!这真的是你应该怎么做的吗?
答案 0 :(得分:0)
用于表示现代计算机中有符号整数的最常用格式是两个补码。二进制补码表示允许对有符号整数使用二进制算术运算。
正2的补数用简单二进制表示。
负2的补数表示为二进制数,当加到相同幅度的正数时等于零。
你的2的补充输出相当于-9(负9)。
<强>编辑:强>
要求您执行32位操作,因此它应为1111 1111 1111 1111 1111 1111 1111 0111
对于带符号的数字,最左边的位代表数字的符号。如果最左边的位(LSB)为1则数字为负,否则为正。因此,你的32位2的补码是负数,它是-9。 简单地说,对一个数字执行2的补码相当于否定它 即它使正数变为负数,反之亦然。 欲了解更多信息,请访问以下链接: