首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是32位二位的补充?

什么是32位二位的补充?
EN

Stack Overflow用户
提问于 2016-10-17 21:49:03
回答 1查看 13.1K关注 0票数 2

我真的对“32位双补足”这个词感到困惑。

如果我有数字9,32位的两位补码是什么?

9= 1001

二补足= 0111

32位9= 0000 0000 0000 1001

二补数= 1111 1111 1111 0111

结果太荒谬了!太大了!你真的要这么做吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-17 23:26:09

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

正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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40096230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档