二进制减法的简单过程

二进制减法的简单过程二进制减法的运算方法二进制减法有两种运算方法,可以使用向高位借位的办法,也可以将减法转为加法采用借位的办法不是很快捷,比较容易看错,示例如下:1010-0111————0011被减数末尾的0向前一位借1,相当于10(2)-1得到1,倒数第二位被借一位后变0,继续向前一位借,以此来得到结果,如果减数大于被减数,则需将最后的结果按位取反得到结果。另外也可采用转换为加法…

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

二进制减法的运算方法

二进制减法有两种运算方法,可以使用向高位借位的办法,也可以将减法转为加法

采用借位的办法不是很快捷,比较容易看错,示例如下:
1 0 1 0
-0 1 1 1
————
0 0 1 1

被减数末尾的0向前一位借1,相当于10(2)-1得到1,倒数第二位被借一位后变0,继续向前一位借,以此来得到结果,如果减数大于被减数,则需将最后的结果按位取反得到结果。

另外也可采用转换为加法的方式来计算,具体操作是将减数的符号位取反,如果符号取反后是1(即负数),须将其他数字按位取反后在加1。如减数是1111,则转化为1(符号位)0001,如计算1010 – 1111,先将1111,转化为10001,计算过程如下:

0 1 0 1 0 (10)
+1 0 0 0 1 (-15)
——————
1 1 0 1 1

得到的结果为1开头的数字,即是负数,所以须将得到的数符号位不变,其他数字按位取反在加1得到 1 0 1 0 1, 即-5,如果结果是正数的话,结果无需变化,就是最终结果。

在将加法变为减法的过程,实际就是利用补码在进行运算,由于正数的补码就是其本身,所以自需要变换负数为其补码既可。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BigDecimal加减乘除计算

    前阵子做题遇到了大数的精确计算,再次认识了bigdecimal关于Bigdecimal意外的有许多小知识点和坑,这里特此整理一下为方便以后学习,希望能帮助到其他的萌新BigDecimal的运算——加减乘除首先是bigdecimal的初始化这里对比了两种形式,第一种直接value写数字的值,第二种用string来表示BigDecimalnum1=new…

    2022年4月7日
  • windows中在 pycharm中安装pytorch

    windows中在 pycharm中安装pytorchwindows中在pycharm中安装pytorch打开pycharm打开file————settings————ProjectInterpreter————点击+号然后点击managerepositories输入以下几个常用的地址最后返回直接搜索pytorch点击Installpackage直接下载即可,可能下载的比较慢。…

    2022年8月29日
  • java 标识符,分隔符,关键字[通俗易懂]

    java 标识符,分隔符,关键字[通俗易懂](一)标识符的介绍   Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。  Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。下面的标识符是合法…

    2022年7月7日
  • 开机就提示“请安装TCP/IP协议,error=10106”的解决的方法

    开机就提示“请安装TCP/IP协议,error=10106”的解决的方法

    2021年11月14日
  • 注册邮箱发送短信验证_网易邮箱注册系统未收到短信

    注册邮箱发送短信验证_网易邮箱注册系统未收到短信分享概要:讲述yii框架,用户注册然后以邮箱通知和短信通知用户注册状态。短信使用阿里云,邮箱使用swiftmailer插件。支持php~~~功能点:用户注册通知用户注册类:publicfunctionactionCreateUsers(){//数据过滤数据判断这个省略了。。。。直接看重点if($model->save()){//对用户数据的保存…

    2022年10月13日
  • 在某个范围内随机生成一些数据_cut out删除造句

    在某个范围内随机生成一些数据_cut out删除造句根据yolov4文献中提到的cutout数据增广方式,进行扩展阅读。Cutout&RandomErasing1、Cutout论文地址:https://arxiv.org/pdf/1708.04552.pdf代码地址:https://github.com/Dingzixiang/cutout/blob/master/cutout.py出发点:文章的出发点除了解决遮挡问题外,还有从dropout上得到启发。众所周知…

    2022年9月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号