前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >补码的加减法运算_简述补码减法运算的规则

补码的加减法运算_简述补码减法运算的规则

作者头像
全栈程序员站长
发布2022-10-05 09:20:48
4.5K0
发布2022-10-05 09:20:48
举报
文章被收录于专栏:全栈程序员必看

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

补码的加减法运算

本文内容参考自王达老师的《深入理解计算机网络》一书<中国水利水电出版社>

一、补码加法:

1、补码的加法运算 两个机器数相加的补码可以先通过分别对两个机器数求补码,然后再相加得到,在采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,导致了益出,则直接舍弃),结果为两数之和的补码形式。 示例1:求两个十进制数的和 35+18。 首先,规定字长是8位,也就是只能用8位二进制表示。 35的原码:00100011。 18的原码:00010010。 因为35和18都是正数,所以补码和原码完全一致。 35的补码:00100011。 18的补码:00010010。 因为补码是可以连同符号位一起运算,所以运算法则等同于无符号二进制运算:

代码语言:javascript
复制
 00100011---35二进制表示
 00010010---18二进制表示
 00110101-----转换成10进制是53。结果正确!

示例2:求两个十进制数的和 35+(-18)。 同示例1一样,只能用8位表示。 35的原码:00100011。 -18的原码:10010010。 因为35是正数,补码与原码完全一致,但是-18是负数,补码需要转换。 35的补码:00100011。 -18的补码:由原码除符号位外取反,再在最低位+1,得到结果是11101110。这时都是补码,运算规则等同于无符号二进制加法。

代码语言:javascript
复制
   00100011
   11101110
  100010001---因为前面规定了字长是8位,这里出现了9位,
  所以最高位舍弃,舍弃后,结果为00010001,
  转换成十进制是:17。结果正确!(超出字长部分直接舍弃)
二、补码减法:
  • 1、补码的减法运算 减法实际上就是加一个负数。运算法则和加法实际上是一致的!

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 补码的加减法运算
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档