用移位实现除以或者乘以一个数

一些2的次幂需要常记!
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024

2^(-1) = 0.5
2^(-2) = 0.25
2^(-3) = 0.125
2^(-4) = 0.0625
2^(-5) = 0.03125
2^(-6) = 0.015625
2^(-7) = 0.0078125
2^(-8) = 0.00390625
2^(-9) = 0.001953125
2^(-10) = 0.0009765625

基本思想:将需要乘以或者除以的树,以2的倍数进行相加的多项式表示。

例如
A9=A(8+1)=A8+A=A<<3 + A;
A
7=A*(8-1)=A8-A=A<<3 - A;
1/255=1024/(1024
255)=2^(-10)*(1024/255)
=2^(-10)4.5511
=2^(-10)
(4+0.5+0.03125+0.00390635+0.00048828125)
其中
4.5511≈4+0.5+0.03125+0.00390635+0.00048828125

欢迎关注我,关于FPGA的问题欢迎留言讨论!

用移位实现除以或者乘以一个数相关推荐

  1. 计算机计算公式单组数据求乘法,(excel表格全部数据怎么乘以一个数啊)

    计算机一级用excel表格计算增长比例该怎么算? 1先在excel的单元格中输入需要计算增长比例的. 2.然后在C1单元输入计式:=(B1-A1)/A1. 3.点击回车,即可将计算公式生成结果,此时计 ...

  2. python给数组乘以某个数

    # 给x0数组每个元素都乘以十的负三次方 x0 = [10, 30, 50, 70, 90, 110, 130, 150, 170, 190, 210, 230, 250, 270, 290, 310 ...

  3. 字符串转为小数点,乘以一个数以后,转换为科学计数法,再把科学计数法转化为字符串

    #include <stdio.h> #include <stdint.h> #include<string.h> #include<stdlib.h> ...

  4. Windows游戏编程大师技巧笔记(一些基础)

    C#的一个好处就是几乎完全不用与二进制有关的东西和内存打交道,一切都是对象,一切都是十进制.突然转到C++,有点无所适从.现在记录一下半个月集中学习C++和DirectX的一些经验. 1.或运算(Or ...

  5. 如何求两个数最大公约数

    一.程序描述 求两个数最大公约数,可以用四种方法,分别是暴力穷举法(不适用于大数字).辗转相除法(线性代数).更相减损法(九章算术).stein算法(Stein算法跟更相减损术很像,而且只有比较.移位 ...

  6. 编程之美读书笔记2.1—求二进制数中1的个数

    解法一: 可以举一个8位二进制的例子.对于二进制操纵,我们除以一个2,原来数字就会减少一个0(向右移一位).如果除的过程中有余,那么久表示当前位置有一个1. 以10100010为例: 第一次除以2时, ...

  7. 带分数乘整数怎么用计算机,整数乘以分数怎么算

    教学目的:使学生理解分数乘以整数的意义,在理解算理的基础上掌握分数乘以整数的计算法则,并能正确运用"先约分再相乘"的方法进行计算.教学过程:一.复习.1.5个12是多少?用加法算: ...

  8. 华为深度学习新模型DeepShift:移位和求反代替乘法,成本大降

    2020-01-10 11:51:49 [新智元导读]深度学习模型,尤其是卷积神经网络的计算成本问题主要是由于卷积层和全连接层中大量进行乘法运算造成的.华为异构实验室的研究人员提出,用移位和求反运算代 ...

  9. 华为深度学习新模型DeepShift:移位和求反代替乘法,神经网络成本大降

    来源:机器学习研究会订阅号 [导读]深度学习模型,尤其是卷积神经网络的计算成本问题主要是由于卷积层和全连接层中大量进行乘法运算造成的.华为异构实验室的研究人员提出,用移位和求反运算代替乘法,可有效缓解 ...

最新文章

  1. Node.js 指南(目录)
  2. 开发日记-20190821 关键词 读书笔记《掌控习惯》DAY 1
  3. golang中的栈帧
  4. 黑马 程序员——Java基础---流程控制
  5. error_reporting()
  6. java 中的vector_详解Java中的Vector
  7. Codeforces Round #225 (Div. 1) E. Vowels 容斥 + sosdp
  8. 智能会议系统(17)--- Linphone用户注册
  9. 批处理打开URL总结
  10. 多平台、简洁思维导图工具推荐-幕布[高级会员获取]
  11. Google搜索技巧语法
  12. 一将成,万骨枯,趣店上市背后的残酷游戏
  13. 推荐大家几款提高工作效率的软件
  14. Polar码(2)- Polar编码
  15. 4年小Java的心路历程,工作感悟
  16. 浏览器控制台接口测试以及造测试数据
  17. LHS和RHS的理解
  18. 搜狐邮箱怎样开启imap服务器,搜狐企业邮箱iPhone如何设置?
  19. 网站忘记密码,如何找回 -- (前提浏览器保存过密码)
  20. java 文件转换成流_java -IO流_转换流

热门文章

  1. IOS 5 中@synthesize window = _window是什么意思呢
  2. C#多线程学习(五) 多线程的自动管理(定时器) (转载系列)——继续搜索引擎研究...
  3. 嵌入式linux的运行过程,ARM嵌入式设备Linux系统启动步骤和方式
  4. oracle查询cpu占用率高,ORACLE杀掉cpu占用率高的session
  5. linux7安装EMC的多路径,Oracle Linux 7.8 多路径(Multipath)+Udev绑定磁盘
  6. h5 兑换商品 页面模版_H5页面制作工具编辑功能对比:木疙瘩、微吾、云
  7. c语言表达式判断,在C语言的if语句中,用做判断的表达式为()。
  8. catia钣金根据线段折弯_SolidWorks钣金折弯参数设置技巧
  9. gis中开始编辑之后显示空间参考_空间参考—帮助 | ArcGIS Desktop
  10. python每行输出30个字_python_30期【for循环】