二进制补码乘法除法_二进制乘法和除法

二进制补码乘法除法

1)二进制乘法 (1) Binary Multiplication)

Binary numbers can be multiplied using two methods,

二进制数可以使用两种方法相乘,

  1. Paper method: Paper method is similar to multiplication of decimal numbers on paper.

    纸张方法:纸张方法类似于纸张上十进制数字的乘法。

  2. Computer method: Computer method is used by digital machines to multiply the binary numbers.

    计算机方法:数字计算机使用计算机方法乘以二进制数。

However, both these methods follow the same rule of multiplication which is,

但是,这两种方法都遵循相同的乘法规则,即

    0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Note: If two binary numbers are of 'n' bits each in magnitude, then their product can be maximum '2n' bits long in magnitude.

注意:如果两个二进制数的大小均为'n'位,则它们的乘积最大为'2n'位。

长手乘法/纸张方法 (Long Hand Multiplication/Paper Method)

The long Hand Multiplication technique is similar to decimal multiplication that we do on paper.

长手乘法技术类似于我们在纸上进行的十进制乘法。

In this technique, we multiply the multiplicand with each bit of multiplier and add the partial products together to obtain the result.

在这项技术中,我们将被乘数与乘数的每一位相乘,并将部分乘积相加以获得结果。

We scan the multiplier from the RHS, if the multiplier bit is 1 then we copy the whole multiplicand in the partial product and if the multiplier bit is 0, we replace all the bits of the multiplicand with 0 in the partial product.

我们从RHS扫描乘数,如果乘数位为1,则复制部分乘积中的整个被乘数,如果乘数位为0,则将乘积中的所有位替换为部分乘积中的0。

Example 1: Compute (10)2 * (11)2

示例1:计算(10) 2 *(11) 2

Solution:

解:

binary multiplication 1

Therefore, the result is (10)2 * (11)2 = (110)2

因此,结果是(10) 2 *(11) 2 =(110) 2

Verification:

验证:

We can verify our result by converting the binary numbers to respective decimal numbers and multiplying them to get the result.

我们可以通过将二进制数字转换为相应的十进制数字并乘以它们以获得结果来验证我们的结果。

Here, (10)2 = (2)10, (11)2 = (3)10 and (110)2 = (6)10. When we will multiply 2 and 3, we will get the product as 6, which we are getting by multiplication of binary numbers. Hence our solution is correct.

在此, (10) 2 =(2) 10(11) 2 =(3) 10(110) 2 =(6) 10 。 当我们将23相乘时,我们将得到乘积为6 ,这是通过二进制数相乘得到的。 因此,我们的解决方案是正确的。



Example 2: Compute (111)2 * (101)2

示例2:计算(111) 2 *(101) 2

Solution:

解:

binary multiplication 2

Therefore, the result is (111)2 * (101)2 = (100011)2

因此,结果为(111) 2 *(101) 2 =(100011) 2



Example 3: Compute (1010.01)2 * (1.01)2

示例3:计算(1010.01) 2 *(1.01) 2

Solution:

解:

binary multiplication 3

Therefore, the result is (1010.01)2 * (1.01)2 = (1100.1101)2

因此,结果为(1010.01) 2 *(1.01) 2 =(1100.1101) 2

2)二进制除法 (2) Binary Division)

Like binary multiplication, division of binary numbers can also be done in two ways which are:

像二进制乘法一样,二进制数的除法也可以通过两种方式完成:

  1. Paper Method: Paper Method division of binary numbers is similar to decimal division.

    纸张方法 :纸张方法对二进制数的除法类似于十进制除法。

  2. Computer Method: Computer Method is used by the digital devices where they make use of 2's complement of a number to subtract the numbers during division.

    计算机方法 :数字设备使用数字方法使用数字的补码来在除法运算中减去数字。

长手分割法/纸法 (Long Hand Division Method/Paper Method)

In binary division, there are only two possibilities either 0 or 1. If the divisor goes into the dividend then quotient will be 1 and if the divisor doesn’t then the quotient will be 0. Similar, to decimal division, we will subtract divisor from the dividend and the result will be appended by the next bit in the dividend. This process repeats until all the bits of the dividend are considered.

二进制除法中 ,只有两种可能性,即0或1。如果除数进入被除数,则商将为1;如果除数没有,则商将为0。类似于十进制除法,我们将减去除数的红利和结果将被添加到红利的下一位。 重复此过程,直到考虑了除数的所有位。

Example 1: Divide (111101)2 by (100)2

范例1:将(111101) 2除以(100) 2

Solution:

解:

binary division 1

Therefore, the result is (111101)2 / (100)2 gives (1111)2 (Quotient) and 1 (Remainder)

因此,结果为(111101) 2 /(100) 2得出(1111) 2 (商)和1(余数)



Example 2: Divide (110101.11)2 by (101)2

范例2:将(110101.11) 2除以(101) 2

Solution:

解:

binary division 2

Therefore, the result is (110101.11)2 / (101)2 gives (1010.11)2.

因此,结果为(110101.11) 2 /(101) 2给出(1010.11) 2

Verification:

验证:

We can verify our result by converting the binary numbers to respective decimal numbers and then dividing the dividend by the divisor to get the result.

我们可以通过将二进制数字转换为相应的十进制数字,然后将除数除以除数来得到结果,从而验证我们的结果。

Here, (110101.11)2 = (53.75)10, (101)2 = (5)10 and (1010.11)2 = (10.75)10. When we will divide 53.75 by 5, we will get the result as 10.75, which we are getting by doing division of binary numbers. Hence our solution is correct.

在此, (110101.11) 2 =(53.75) 10(101) 2 =(5) 10(1010.11) 2 =(10.75) 10 。 当我们将53.75除以5时 ,将得到10.75的结果,这是通过对二进制数进行除法得到的。 因此,我们的解决方案是正确的。



Example 3: Divide (1010.1)2 by (101.01)2

示例3:将(1010.1) 2除以(101.01) 2

Solution:

解:

binary division 3

Therefore, the result is (1010.1)2 / (101.01)2 gives (10)2.

因此,结果是(1010.1)2 /(101.01)2给出了(10)2。

翻译自: https://www.includehelp.com/basics/binary-multiplication-and-division.aspx

二进制补码乘法除法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/544081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

控制JSP头部引入外部文件编译后在第一行

2019独角兽企业重金招聘Python工程师标准>>> 一.错误引入方法 假设当前需要在JSP页面输出xml格式数据,需要引入以下外部文件,通过以下的方式来引入则无法正常输出数据: 访问页面会报错误:xml的声明不在文档的第一行 看…

4种常见的缓存模式,你都知道吗?

概述 在系统架构中,缓存可谓提供系统性能的最简单方法之一,稍微有点开发经验的同学必然会与缓存打过交道,最起码也实践过。如果使用得当,缓存可以减少响应时间、减少数据库负载以及节省成本。但如果缓存使用不当,则可能…

面试突击63:distinct 和 group by有什么区别?

作者 | 磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)在 MySQL 中,最常见的去重方法有两个:使用 distinct 或使用 group by,那它们有什…

从20s优化到500ms,我用了这三招

前言接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题。想要优化一个接口的性能,需要从多个方面着手。本文将接着接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的。上周我优化了…

面试拆解:系统上线后CPU急速飙升,该怎么排查?

上次面试官问了个问题:应用上线后Cpu使用率飙升如何排查?其实这是个很常见的问题,也非常简单,那既然如此我为什么还要写呢?因为上次回答的时候我忘记将线程PID转换成16进制的命令了。所以我决定再重温一遍这个问题&…

MySQL 死锁了,怎么办?

作者:小林coding提纲如下:正文有个业务主要逻辑就是新增订单、修改订单、查询订单等操作。然后因为订单是不能重复的,所以当时在新增订单的时候做了幂等性校验,做法就是在新增订单记录之前,先通过 select ... for upda…

10 张图搞懂服务注册发现机制

在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一,本文通过图解的方式带领大家轻轻松松掌握。引入服务注册与发现组件的原因先来看一个问题,假如现在我们要做一个商城项目&a…

ASP.NET 5 Beta8 已经发布

Microsoft ASP.NET and Web Tools 2015 (Beta8) http://www.microsoft.com/en-us/download/details.aspx?id49442 .net core 完成了98%,绝大部分类库完成了跨平台开发,已经基本可用,下一版本为RC,发布时间为12月,将可…

面试突击65:HTTPS有什么优点?说一下它的执行流程?

作者 | 磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)说到 HTTPS 相信大部分人都是不陌生,因为目前我们使用的绝大数网站都是基于 HTTPS 的,比如以…

Cell.reuseIdentifier 指什么

Cell.reuseIdentifier 指的是 默认为空,如果不定义,在执行 [_tableView registerNib:templateCellNib forCellReuseIdentifier:_templateCell.reuseIdentifier]; 时,提示 must pass a valid reuse identifier to -[UITableView registerNib:f…

缓存穿透、缓存雪崩、缓存击穿?

背景 在现代软件架构中,缓存的应用已经非常普及。缓存的使用在面试和实践中都是避不开的硬技能、硬知识,如果你说还不太熟悉缓存的使用,可能都不好意思说自己是程序员。这篇文章,带大家进一步学习在缓存使用中不得不考虑三个特殊场…

如何防止订单重复支付?

大家好,我是磊哥,想必大家对在线支付都不陌生,今天和大家聊聊如何防止订单重复支付。看看订单支付流程我们来看看,电商订单支付的简要流程:订单钱包支付流程从下单/计算开始:下单/结算:这一步虽…

3 分钟快速上手 Spring 事件机制

小伙伴们好呀~ 今天来和大家分享下这个 Spring事件机制内容概览image-20210829132019387原理image-20210828184103069这个熟悉 观察者模式 的小伙伴应该一眼就看出来啦~其实就是个简单版的 发布-订阅模式有三个核心类👇事件 ApplicationEvent事件发布器 Application…

mis dss gis_MIS中的决策支持系统(DSS)

mis dss gisThe Decision Support System is always helpful to management people to take decisions/decisions and finds the key business insights from available information systems. 决策支持系统始终有助于管理人员做出决策/决策,并从可用的信息系统中找到…

使用Grunt构建自动化开发环境

1、准备工作 1)首页确保电脑上网,以及能够访问https://registry.npmjs.org/,因需从此网站中下载安装相应的插件; 2)电脑安装Node.js,Grunt及Grunt插件都是基于node.js运行的;如果你电脑上未装node.js&#…

面试突击66:请求转发和请求重定向有什么区别?

作者 | 磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)在 Java 中,跳转的实现方式有两种:请求转发和请求重定向,但二者是完全不同的&…

99%的Java程序员会踩的6个坑

前言作为Java程序员的你,不知道有没有踩过一些基础知识的坑。有时候,某个bug,你查了半天,最后发现竟然是一个非常低级的错误。有时候,某些代码,这一批数据功能正常,但换了一批数据就出现异常了。…

BigDecimal 的 4 个坑,你踩过几个?

背景 一直从事金融相关项目,所以对BigDecimal再熟悉不过了,也曾看到很多同学因为不知道、不了解或使用不当导致资损事件发生。所以,如果你从事金融相关项目,或者你的项目中涉及到金额的计算,那么你一定要花时间看看这篇…

Windows Server 2012 R2 里面如何安装Net Framework 3.5

图示 不要慌,和windows是不一样的,没有问题 下一步 默认即可,下一步 这里面的东西以后会装,先不管,我们今天目的是装 net framework 3.5 选一下 正在安装 如果出错了请参考: http://www.2cto.com/os/201410…

聊聊Java中代码优化的30个小技巧

今天我们一起聊聊Java中代码优化的30个小技巧,希望会对你有所帮助。1.用String.format拼接字符串不知道你有没有拼接过字符串,特别是那种有多个参数,字符串比较长的情况。比如现在有个需求:要用get请求调用第三方接口,…