前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >包含负数的二进制补码的加减运算叫什么_负数的补码怎么求

包含负数的二进制补码的加减运算叫什么_负数的补码怎么求

作者头像
全栈程序员站长
发布2022-09-29 10:39:18
6010
发布2022-09-29 10:39:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。=

代码语言:javascript
复制
本篇文章是我的第一篇博客,用于帮助那些和我一样处于迷茫中的朋友。如若对你有帮助的话请点个赞。如若引用还请注明出处!
读这篇文章之前,你必须对原码 反码 补码有所了解。
关于这些推荐一篇大佬的文章。
[关于原码 反码和补码](https://blog.csdn.net/chenchao2017/article/details/79733278)
在这里补充一点关于补码的知识:
a
例如:
+5的补码为0 0101
-5的补码为1 1011
如果我想用八位二进制补码表示怎么办?

答案是从右向左补充符号位!!!
那么
+5的补码就应该是0000 0101
-5的补码就应该是1111 1011
b
在进行运算时必须保证位数足够,即不发生数据溢出,否则结果错误!!!
1.整数之间的运算
例如:
(+12) +  (+8)
转换成补码形式后按位相加,符号位运算得到的值仍是符号位。若有多余位数产生则舍去多余位数。
在这里插入图片描述
在这里插入图片描述

在这里我采用了六位二进制数(范围-2^5~ 2^5-1)。 二进制0 10100=十进制 正20 再来个负数!(记住是各个位对应相加)

在这里插入图片描述
在这里插入图片描述

二进制0 00101=十进制 正5 在这里再次强调一下,多余位需要舍去,符号位经过运算得到的值依然是符号位。 2.小数间的运算 例如: 12.625+7=12+0.625+7

12+7这里就不介绍了(上面刚说过)。 0.625采用“乘二取整法”化为二进制可以得到是0.101(这里不会的直接百度,相信你!) 正19用二进制表示为 0 10011。 0 10011+0.101 即得到二进制结果为 0 10011.101 (首位0为符号位) 等于19.625

再例如: 7-0.375 0.375采用“乘二取整法”化为二进制可以得到0.011,那么-0.375就是1.011。化为补码形式为1.101(加一是在最后面加的),化为8位二进制是1 1111.101

在这里插入图片描述
在这里插入图片描述

即结果为1 0 0110.101(最左边1为溢出值,舍去)。 0 0110.101= +6.625 上文是我自己的拙见,可能有不当或者错误的地方。如若细心的你发现了,还请指正!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193647.html原文链接:https://javaforall.cn

=

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月15日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档