二进制乘除法运算原理

article/2025/9/13 22:37:37

二进制乘除法原理

计算机所能完成的最基本操作是加减法和左右移。
虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令。

二进制乘法

假设不能使用乘除运算求a×b的结果,当a=b=123时,最直接的方法是通过88个88相加。但是,我们不难发现这样的规律:
123 × 123 = (100+20+3)×123 = (100×123) + (20 × 123) + (3 × 123)
因此,我们需要进行计算的次数为min(len(a), len(b))
根据这个原理,不难想出二进制的乘法运算:
0011 * 1001 = ( 0011 * 1000)+( 0011 * 0001)
注意,这时应该使用位移运算来取代乘法运算:
0011*1000 => 3<<3
0011 * 0001 => 3<<0

//不用乘除做整数乘法运算
int Mult(int a, int b){int ans = 0;for (int i = 0; i < 32; i++){ans += ( b & (1 << i) ? a << i : 0);}return ans;
}

二进制除法

二进制除法的原理与在十进制时差不多,但实现起来要比二进制乘法稍微复杂一些,先上一个例子(38除以6等于6余2):
在这里插入图片描述
我们从被除数的最高位开始,每步循环结束后被除数必定小于除数,然后通过位移的方式让被除数长度加1。

No.运算结果余数
11/11001
210/110010
3100/1100100
41000/01101011
50111/011011
610/11001
(个位数,循环结束)
//二进制除法运算
int Dvi(int a, int b){int ans = 0;for (int j = 31; j >= 0; j--){int tmp = a >> j;if (tmp >= b){ans = ans | (1 << j);a -= (b << j);}}return ans;
}

http://chatgpt.dhexx.cn/article/jo5r5cxN.shtml

相关文章

二进制加法计算

读计算机原理这本书的的时候涉及到二进制数的加法&#xff0c;个人做个直观的记录&#xff0c;防止遗忘。 计算时&#xff0c;先把两个二进制数对齐&#xff08;如同十进制一样&#xff0c; 从右向左&#xff09;11为10&#xff0c;此时向上一位进1,0写在本位&#xff08;如同十…

二进制加减乘除

最重要的,理解十进制的借位和进位.十进制中,由于一个循环是10,所以借1位,就相当于从高位借过来10,也就是常说的借1当10,同时,高位需要减去10(外在体现上是减去1,因为高位已经在高位了).反过来,进1,就等于高位加上10,但因为高位已经在高位了,所以去掉位数考虑,高位实际是加1,也就…

二进制加法

计算机中二进制相关运算 有符号二进制与无符号二进制数之间的区别有符号二进制加法运算讨论关于有符号二进制数算术的溢出问题&#xff08;重点&#xff09;无符号二进制运算 有符号二进制与无符号二进制数之间的区别 对于一个有符号二进制数来讲&#xff0c;最高位是该数的符…

二进制加减法计算

二进制加减法&#xff1a;原码、反码、补码 1.十进制下的计算1.模数2.补数 2.二进制数的存储1.计算机计数2.原码3.反码4.补码 3.二进制计算1.中位对称2.循环进位3.二进制减法推算4.结论 1.十进制下的计算 1.模数 假设下文【模】定义如下&#xff1a;某个可度量系统的度量范围…

二进制数的运算方法

1&#xff0e;二进制数的算术运算 二进制数的算术运算包括&#xff1a;加、减、乘、除四则运算&#xff0c;下面分别予以介绍。 &#xff08;1&#xff09;二进制数的加法 根据“逢二进一”规则&#xff0c;二进制数加法的法则为&#xff1a;0&#xff0b;0&#xff1d;00&…

简单计算二进制的加减法

二进制就是计算机技术中广泛采用的一种数制&#xff0c;由&#xff08;0&#xff0c;1&#xff09;组成。你可以广泛的认为&#xff0c;每一个 0&#xff0c;1 都&#xff08;存储在&#xff09;对应着一个比特位&#xff08;bit&#xff09;,而由这些由例如&#xff1a;010010…

二进制的加减乘除法全了看一下叭

看这里~ 前言一、二进制加法二、二进制减法三、二进制乘法四、二进制除法总结 前言 最近在学习通信网络中的CRC算法&#xff0c;所以积累一下二进制的各种算法&#xff0c;如果对您有用&#xff0c;记得点个赞喔&#xff01;谢谢啦。 一、二进制加法 对于二进制加法和十进制的…

二进制加,减法,23个位运算技巧

二进制加&#xff0c;减法 二进制最高位为1时表示负数&#xff0c;为0时表示正数。 **原码&#xff1a;**一个正数&#xff0c;转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。 举例说明&#xff1a;       int类型的 …

二进制的加减法_二进制加减法

二进制的加减法 1)二进制加法 (1) Binary Addition) Since binary numbers consist of only two digits 0 and 1, so their addition is different from decimal addition. Addition of binary numbers can be done following certain rules: 由于二进制数仅由两位数字0和1组成…

补码二进制减法计算

二进制减法计算 -1 - 1 二进制表示为 -1 1 -2 补码1111 ... 1110 原码1000 ... 0010 如果是5 - 3 如果-12 如果Int_min - 1 127 此处是在Int的范围&#xff0c;所以在环内-1到了127 如果不在int范围中&#xff0c;在二进制中&#xff0c;结果就是-(int_min1)…

二进制减法图解

写在前面 二进制减法类似于十进制的减法&#xff0c;我们根据小学学过的十进制的减法来推出二进制减法如何进行运算。 十进制减法 例如74323-4756226761的运算。灰色部分为计算过程&#xff0c;绿色字为被减一得到的数&#xff0c;红色字为借一后得到的数。 在运算过程中&…

DenseNet简介

论文传送门&#xff1a;https://arxiv.org/pdf/1608.06993.pdf CNN模型的发展十分火热&#xff0c;自LeNet提出以来&#xff0c;涌现了一批优秀的CNN模型。 LeNet是CNN的开山之作&#xff0c;标志着CNN真正的提出。2012年AlexNet夺得ILSVRC2012的冠军&#xff0c;深度学习大火…

图像分类算法DenseNet论文解读

论文名称&#xff1a;Densely Connected Convolutional Networks 论文地址&#xff1a;https://arxiv.org/pdf/1608.06993.pdf 如果说ResNet扩展了网络的深度&#xff0c;GoogLeNet扩展了网络的宽度&#xff0c;那么DenseNet就是利用特征图的重用。 一、论文解读 1、DenseNet…

DenseNet论文笔记

DenseNet论文笔记 Densely Connected Convolutional Networks Introduction中引用了Deep networks with stochastic depth,提到了resnet里很多层都学不到东西&#xff0c;贡献很少可以随机丢掉&#xff0c;解释了InceptionV4里的Scaling of the Residuals操作&#xff0c;Ince…

DenseNet解析

1 前言 在计算机视觉领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;已经成为最主流的方法&#xff0c;比如最近的GoogLenet&#xff0c;VGG-19&#xff0c;Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现&#xff0c;ResNet可以训练出更深的CNN模型…

denseNet 详解

CNN网络架构演进&#xff1a;从LeNet到DenseNet - Madcola - 博客园 (cnblogs.com) 1、解决梯度消失问题 2、特征图相应变少

DenseNet详述

简介 从2012年AlexNet大展身手以来&#xff0c;卷积神经网络经历了&#xff08;LeNet、&#xff09;AlexNet、ZFNet、VGGNet、GoogLeNet&#xff08;借鉴Network in Network&#xff09;、ResNet、DenseNet的大致发展路线。其实&#xff0c;自从ResNet提出之后&#xff0c;Res…

DenseNet

paper: Densely Connected Convolutional Networks Memory-Efficient Implementation of DenseNets code: https://github.com/pytorch/vision/blob/main/torchvision/models/densenet.py 在本篇文章中&#xff0c;作者提出了Dense Convolutional Network (DenseNet)&…

详解DenseNet(密集连接的卷积网络)

前言 在计算机视觉领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;已经成为最主流的方法&#xff0c;比如最近的GoogLenet&#xff0c;VGG-19&#xff0c;Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现&#xff0c;ResNet可以训练出更深的CNN模型&a…

DenseNet 简介

个人公众号,欢迎关注 YouChouNoBB 1.首先对深度学习做一个简单的回顾 2.介绍DenseNet 3.参考文献 1.1 DNN回顾 如下图所示是一个基本DNN结构&#xff0c;通过forward传播和backword传播来训练一个模型。包含input层&#xff0c;L个隐藏层和一个output&#xff0c;隐层使用的…