看了一下相关帖子的知识普及,都说一个数的正数补码和负数补码相加等于0。
但是我自己实际算出的并不是0。这是什么原因?
1的补码是:0000 00001;
-1的补码是:1111 1111;
那么他们底层做加法不应该等于:10000000吗?
为什么会等于0呢?
补码计算困惑,来个懂的解惑下
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 婉瑄|Vivian_ 2023-07-26 03:18关注
前提:假设1和-1都是一个字节的长度(8 位)
则:
1的补码是 0000 0001
-1的补码是1111 1111
这两个相加0001 0000 0000,注意有一位溢出;
因为两个一字节长度的数据相加,结果应然是一字节,故取后八位。
得到0000 0000,就是0。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 计算机硬件实验报告寻代
- ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
- ¥15 用C语言判断命题逻辑关系
- ¥15 原子操作+O3编译,程序挂住
- ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
- ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
- ¥15 AD9910输出波形向上偏移,波谷不为0V
- ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
- ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
- ¥15 抖音直播广场scheme