发布一个实用工具小程序(V0.05版)——乘除法转换为移位操作
3赞
发表于 2018/12/2 18:11:37
阅读(3342)
我们知道,除法是一种很复杂的运算,无论是在软件层面还是在硬件层面,都是各种算法或者系统所极力避免的运算。然而,有的时候除法操作是不可避免的。本文介绍一种简单的方法,可以用于替代一些简单的除以常数或者乘以常数的操作。顺便花了两个小时,用C++写了一个简单的小程序,分享一下。
对于除以常数或者乘以常数,有两种常用的方式可以用于替代除法或者乘法:
第一种是,ROM寻址法。预先将计算结果放在ROM中,将变量作为ROM的地址,则可获得计算结果;
第二种是,移位相加法。可以将除以常数或者乘以常数转换为,将变量移位并相加的运算。而本文介绍的小程序就是用于实现这一功能的。
V0.02版运行效果如下图所示:
V0.03版运行效果截图:
V0.03版更新内容:
增加定点数的有限字长效应;
增加将程序运行记录写入到TXT文件功能;
优化部分内容。
V0.04版运行效果截图:
V0.04版更新内容:
除法模式的输入范围更改为1.0~1024.0之间的任意实数(之前为2~1024之间的整数);
修复定点数有限字长效应功能中的Bug;
增加变量名重置功能,方便直接复制;
暂时屏蔽乘法转换功能;
优化部分显示内容。
V0.05版运行截图:
V0.05版更新内容:
增加乘法模式;
优化部分显示内容。
补充说明:乘法模式中不支持选择最大组合模式和精度控制模式,也不支持定点数的有限字长效应模式。
如果有需要C++源码的,或者愿意帮忙写一个GUI的,请通过QQ或者邮件联系我。
V0.02版EXE文件:
V0.03版EXE文件:
V0.04版EXE文件:
V0.05版EXE文件: