重庆市逸安酒店:如何通过利用加、减、移位等方式实现单片机中乘法和除法的运算! 中国电子开发网(www.ou...

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 18:39:01
乘法比较简单。

最简单的方法就是模拟笔算乘法的过程:

     1101 A
*    1011 B
---------
     1101
    1101
   0000
  1101
---------
 10001111

具体过程:1、累加器清零;2、由乘数B的末位确定是否把A加到累加器中;3、A左移1位、B右移1位;4、重复1。

改进一下:乘数B右移的时候空出的高位,可以利用来存放结果的低位,即移位的时候,A不需要移动,而是把累加结果右移1位,移出的部分进入乘数B的空位中,这样最终结果的高位放在累加器中,低位放在B中。这样做的好处是,A、B、累加器的位数一样,容易在计算机体系中运算。 除法一般不好优化,直接按照笔算步骤来算就可以了:

1、根据被除数(余数)和除数的大小来上商;
2、被除数(余数)低位补0,再减去右移后的除数,也可以改为左移余数,减去除数,这样可以确保参与运算的寄存器具有相同的位数;
3、商写到寄存器的最低位,然后商左移1位。  
连续做减法,现在公认的就是这个,让被除数连续减去n个除数,直到差小于除数时为止,这样减去的次数就是商,剩下的差就是余数。 

如何通过利用加、减、移位等方式实现单片机中乘法和除法的运算! 中国电子开发网(www.ou... 矩阵运算矩阵除法运算 - matlab资源网2 60000本近几年出版的巨量电气、电子、单片机、电路、MATLAB等资源和资料书籍 VC中利用多线程技术实现线程之间的通信 - 开发者在线 - www.builder.com... 扫盲帖:电感式DC-DC升压器原理 中国电子开发网(www.ourdev.cn) 串口编程实现单片机和PC的通讯2 C++中运算符New的三种使用方式 PCB布线- 技术文章 - 中国电子顶级开发网 国内最顶级的开发... C51中interrupt和using的用法——单片机 基于单片机的数字钟(电子日历) 世纪开发网(广州市中强电子科技有限公司)—应用设计-单片机源程序 -PID处理程序(C51... 从研究、开发和技术创新等几方面谈中国科技如何推向前进 从研究、开发和技术创新等几方面谈中国科技如何推向前进 从研究、开发和技术创新等几方面谈中国科技如何推向前进 超声波测距仪的制作-电子开发网 【技术强文】如何利用google和orlydb获取最新的影视歌曲软件等资源! PCB设计方法和技巧(5)a-电子开发网 浅谈初中物理实验资源的开发和利用 中国和德国的思维方式,你会如何做? MMC卡的文件系统及其实现方法-|MMC/SD卡| FAT单片机 |文件系统|-嵌入式技术网 [技术资料 单片机/DSP] TMS320F206定点DSP芯片开发实践==www.ic3... 新颖的单片机LED钟_QQ电子网--电子行业资讯|电子基础知识|电子视频教程|电子技术教程... 如何通过接吻方式判断人的性格 C51里面XBYTE的使用 - 硬件/嵌入开发 / 单片机/工控