我真的对“32位双补足”这个词感到困惑。
如果我有数字9,32位的两位补码是什么?
9= 1001
二补足= 0111
32位9= 0000 0000 0000 1001
二补数= 1111 1111 1111 0111
结果太荒谬了!太大了!你真的要这么做吗?
发布于 2016-10-17 15:26:09
现代计算机中用来表示有符号整数的最常见格式是二的补码。2的补码表示允许对有符号整数使用二进制算术运算。
正2的补码数表示为简单二进制数。
负2的补码数表示为二进制数,当加到相同大小的正数时等于零。
你的2的补充输出相当于-9 (负9)。
编辑:
您被要求执行32位操作,因此应该是1111 1111 1111 1111 1111 1111 1111 0111
。
对于有符号数字,最左边的位表示数字的符号。如果最左位(LSB)为1,则该数字为负数,否则为正。所以,32位2的补数是负数,是-9。简单地说,对一个数字执行2的补就等于否定它--,即它使一个正数变为负数,反之亦然。有关更多信息,请浏览该链接:
https://stackoverflow.com/questions/40096230
复制相似问题