前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二进制减法计算,负数原码、反码和补码之间的关系

二进制减法计算,负数原码、反码和补码之间的关系

作者头像
全栈程序员站长
发布2022-11-08 17:32:32
9020
发布2022-11-08 17:32:32
举报
文章被收录于专栏:全栈程序员必看

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

二进制减法类似于十进制的减法,我们从十进制的减法来推出二进制减法如何进行运算。

二进制计算 例如101001-011010=001111(41-26=15)的运算。

灰色部分为计算过程,绿色字为被减一得到的数,红色字为借一后得到的数。

äºè¿å¶è®¡ç®
äºè¿å¶è®¡ç®

在运算过程中,从右往左逐位进行计算。

  • 1-0=1;
  • 0不够减1,向前借一后加2变成2;2-1=1;
  • 0在上一步被借一所以减为-1,-1不够减0,向前借一后加2变成1;1-0=1;
  • 1在上一步被借一所以减为0,0不够减1,向前借一后加2变成2;2-1=1;
  • 0在上一步被借一所以减为-1,-1不够减1,向前借一后加2变成1;1-1=0;
  • 1在上一步被借一所以减为0,0-0=0.
  • 由此推出:数不够减就向前借一位,然后该数加2.

可见二进制和十进制减法的区别就是向前借一后加2.

原码、反码和补码之间的关系:

  1. 负整数求补码:将负整数转换为二进制得到其原码(最高位为符号位1(正整数0,负整数为1)),将其取反得到其反码,然后加1,得到其补码;
  2. 负整数知补码求原码将补码减一,取反得到其反码;
  3. 正整数的原码等于反码等于补码,最高位为0;

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

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

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

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

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

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