用移位实现乘除法运算

a=a*4;

b=b/4;

可以改为:

a=a<<2;

b=b>>2;

说明:

除2 = 右移1位               乘2 = 左移1位

除4 = 右移2位               乘4 = 左移2位

除8 = 右移3位             乘8 = 左移3位

...                                       ...

通常如果需要乘以或除以2的n次方,都可以用移位的方法代替。

大部分的C编译器,用移位的方法得到代码比调用乘除法子程序生成的代码效率高。

实际上,只要是乘以或除以一个整数,均可以用移位的方法得到结果,如:

a=a*9

分析a*9可以拆分成a*(8+1)即a*8+a*1, 因此可以改为:     a=(a<<3)+a

a=a*7

分析a*7可以拆分成a*(8-1)即a*8-a*1, 因此可以改为:     a=(a<<3)-a

关于除法读者可以类推, 此略

posted on 2013-11-11 19:06 ** 阅读(244) 评论(0)  编辑  收藏

java 乘法 位移_用移位实现乘除法运算相关推荐

  1. java 乘法 位移_Java:移位实现的乘除法

    以下文章仅用于记录工作学习过程中的学习心得. 在Java的运算中,移位实现的乘除法运算比直接乘除法的效率高得多 符号: < >>   :  除 举例子: a= a * 8 = a * ...

  2. python图像相乘运算_MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果...

    图像乘除法运算涉及到immultiply.imdivide函数,实现代码如下: 1.图像之间的乘法运算 close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear ...

  3. opencv进行复数的乘除法运算

    目录 引言 opencv中的复数表示 复数乘法 复数除法 引言 由于opencv自身不带有复数计算功能,但我又经常需要进行复数运算,所以我只能自己写两个函数来进行复数的乘除法运算. opencv中的复 ...

  4. c语言乘法运算 相对于,C语言中,求余运算与乘除法运算,哪个的优先级高

    C语言中,求余运算与乘除法运算,优先级一样高. C语言是一门面向过程的.抽象化的通用程序设计语言,广泛应用于底层开发.C语言能以简易的方式编译.处理低级存储器.C语言是仅产生少量的机器语言以及不需要任 ...

  5. 在线分数计算机_乘除法,分数乘除法口算题.doc

    分数乘除法口算题.doc 六年级口算练习题 21 21 32 43 12 32 41 3 54 21 98 4 45 54 5 65 32 32 41 31 132 2 265 13 65 52 83 ...

  6. java 乘法 位移_java 位移运算与乘法运算

    对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率.这个可以从一道面试题说起: 问题: 用最有效率的方法算出2 乘以8 等於几?" 答案:2 << ...

  7. java 乘法 位移_Java 使用位移运算实现乘法

    import java.util.Scanner; /** * @author Gaojie * @date 2018/7/23 10:15 * 程序开发中的乘法运算一般是通过 * 或 BigDeci ...

  8. 计算机乘除法运算中部分积和余数的符号位选择与位移的关系

    1.原码一位乘 原码一位乘部分积采取一位符号位,逻辑左移 我们其实可以采取双符号位,最高位代表正在符号位,但是我们可以看到,如果采取双符号位的话,由于是绝对值参与的运算,最高符号位一定是0,所以就没有 ...

  9. java一元多项式减法运算_一元多项式的表示及加减乘除运算

    比如:怎样实现用线性链表表示多项式的加法运算? 依据一元多项式相加的运算规则:对于两个一元多项式中全部指数同样的项.相应系数相加,若其和不为零,则构成"和多项式"中的一项.对于两个 ...

最新文章

  1. 写在园子里的第一篇BLOG
  2. Machine Learning List
  3. python二进制创建写模式_30 个Python代码实现的常用功能,精心整理版
  4. 腾讯225页报告:AI正取代互联网成为新引擎,马化腾提七大关键词
  5. 一阶rc电路时间常数_关于RC延时电路的延时时间计算
  6. 用python画多来a梦-python 绘制哆啦A梦
  7. 轻松解决SAP系统采购信息计量中物料价格不能保存含税价问题
  8. vscode之添加到右键快捷方式
  9. html背景图片半透明遮罩,巧用CSS cross-fade()实现背景图像半透明效果
  10. Lucene倒排索引简述 番外篇
  11. Cocos Creator如何制作3D微信小游戏教程
  12. java的标识符_Java的标识符
  13. WIndowsServer2012 DHCP服务器配置
  14. “学习金字塔”的真与假
  15. 人员定位系统如何构建企业安全防护体系?
  16. 关于u盘快捷方式病毒的解决方案
  17. Java的短信接口的使用
  18. Android 2.2 Froyo发布
  19. (渐进)复杂度分析(上)
  20. 生物信息学简介 -整理综合

热门文章

  1. pandas的一个诡异之处(SettingWithCopyWarning)
  2. 浙江省唯二的双一流高校,实力不输211,过国家线就上岸,学长学姐有话说
  3. c语言常量换行符,C语言中换行符问题
  4. 互联网广告投放算法是怎么回事?这本书给你答案
  5. Codeforces Round #832 (Div. 2)
  6. 网速变慢且无线连接速率下降解决
  7. fread,fwrite数据写磁盘流程|fflush--linux编程写文件注意问题(fwrite没有直接写入文件)
  8. 通信原理 | 调制的概念和幅度调制
  9. 钛阀门市场深度研究分析报告
  10. 记录:指针仪表盘视觉读取项目的学习过程