当前位置:首页 > 技术心得 > 正文内容

多字节乘法--汇编实现原理

xjtudll13年前 (2013-09-30)技术心得14320

       乘法的本质是加法,乘法是加法的简便运算。但是如果纯粹用加法,加的次数太多,例如,358*24,即使用358作加法,也要24次。多字节乘法与珠算的“空盘前乘法”类似,是手工算法的变种。
      仍以358*24为例,如果是手工算法,其计算步骤如下:

358
          ×          24
                                     1432 
                 7160
                                     8592

手工计算时,这里面实际上还隐藏了一些加法,因为乘法的进位都是人工加的。将进位的计算考虑进去,计算过程如下:

358 
        ×           24
                                         32    --------> 8*4
                  200    --------> 5*4 
                 1200    --------> 3*4
                  160    --------> 8*2
                 1000    --------> 5*2
                 6000    --------> 3*2
                                   8592

有的单片机甚至都没有乘法指令,这时候可以利用“九九乘法表”,用查表的办法来实现乘法。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/285/

标签: 算法单片机
分享给朋友:

“多字节乘法--汇编实现原理” 的相关文章

Win7 64bit安装usb blaster驱动

Win7 64bit安装usb blaster驱动

前面我就不讲了,直接到驱动搜索这一步。如下: 选择第二项“浏览计算机以查找驱动程序软件”; 关键步骤到了,很容易出错,导致无法安装成功 在下图中一定要将驱动程序位置设置为 “D:\altera\90\quartus\drivers\usb-blaster...

检测NSWindow关闭

You can declare your custom class to conform to NSWindowDelegate protocol. Set an instance of your custom class to be the delegate of your wind...

Android Studio删除Module

Android Studio删除Module

Android studio添加了一个module,结果添加错了,要删除才行,搞了半天不知道怎么弄。研究了很久,才搞清楚。 1 首先右键你要删除的Module。 2 我们往下看找到open module settings 3 弹出如图示的窗口 4 接着我们点击那个“-”...

C# 动态加载DLL 通过反射 调用参数、方法、窗体

.net中常会用到动态加载DLL,而DLL中可能包含各种参数、方法、窗体,如何来调用动态加载这些参数、方法、窗体呢? 在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系: System.Reflection命名空间 (1)   AppDomain:应用程序域,可以将...

Protel99SE系统设置

Protel99SE系统设置

工欲善其事,必先利其器。此言不谬。在用Protel99SE进行电子电路设计时,在软件系统默认环境下,设计数据库文件会出现对话框信息显示不全、文件占用存储空间太大等问题,并且在操作的过程中由于种种原因,往往出现工具栏不显示、文件保存不当或损坏等问题,然而在大多数情况下,绘图者(特别是初学者)不清楚如何...

远程桌面登录没有许可证解决方案(强行跳过)

远程桌面登录没有许可证解决方案(强行跳过)

在远程连接时有时会出现没有提供许可证、远程会话已断开问题。 这时通过命令行   mstsc /v: ip /admin  即可进行连接 ip为远程桌面ip。 举例:mstsc /v: 201.201.201.66 /admin...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。