数学表达式解析小工具 (开源)

功能很简单,输出一个数学表达式的字符串,输出一个结果值.还算是挺好用的一个小工具吧,比起系统自带的计算器来,它能够很方便的显示表达式.之前我曾发布过一个版本,新版本的界面与旧版本一模一样,不同的是:我重写了套用于数学表达式解析的库.

数学表达式解析算法使用的是分制递归,效率还算不错.也许使用波兰式的方法会更快,以后再说吧.

代码和软件下载地址:

http://files.cnblogs.com/WhyEngine/MathExpression.zip

早期版本地址:

http://www.cnblogs.com/WhyEngine/p/3513478.html

昨天我发了一篇博文"WHY数学表达式的3D可视化",这个小工具和它使用的是同一套表达式解析代码.对表达式的使用格式都是一样的.不同点在于这个版本新点,因为今天添加了对科学格式浮点数解析的功能.

自带的函数运算符

(1)标准单目运算符

+,-

如:a = -b

(2)标准双目运算符

+,-,*,/,%,^

如:c = a * b

(3)函数单目运算符 形如sin(a)

positive,negative,abs,floor,ceil,sign,sqrt,exp,log,log2,log10,sin,cos,tan,asin,acos,atan,rand 

(4)函数双目运算符 形如pow(a, b)

add,sub,multiply,divide,max,min,mod,pow,atan2,rand2,  

(5)函数三目运算符 形如lerp(a, b, r)

lerp,clamp,gray,add3,min3,max3,average3

(6)函数四目运算符 形如average4(a, b, c, d)

add4,min4,max4,average4

具体的函数功能我就不解释了,看函数名也能猜个差不多,再不就看代码吧.

数学表达式解析小工具 (开源)

时间: 2024-10-12 00:47:32

数学表达式解析小工具 (开源)的相关文章

基于Java的简易表达式解析工具(二)

之前简单的介绍了这个基于Java表达式解析工具,现在把代码分享给大家,希望帮助到有需要的人们,这个分享代码中依赖了一些其他的类,这些类大家可以根据自己的情况进行导入,无非就是写字符串处理工具类,日期处理的工具类什么的. 这个Java的表达式解析的工具只用了5个类,而且写得也很简单明了,相信有一些编程经验的可以看懂这些处理的逻辑代码. 1.第一个类:ExpressionNodeType(表达式各个字符节点的类型枚举类) public enum ExpressionNodeType { Unknow

【开源一个小工具】一键将网页内容推送到Kindle

最近工作上稍微闲点,这一周利用下班时间写了一个小工具,其实功能挺简单但也小折腾了会. 工具名称:Simple Send to Kindle Github地址:https://github.com/zhanjindong/SimpleSendToKindle 功能:Windows下一个简单的将网页内容推送到Kindle的工具. 写这个工具的是满足自己的需求.自从买了Kindle paperwhite 2,它就成了我使用率最高的一个电子设备.相信很多Kindle拥有者和我一样都有这样一个需求:就是白

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码. 开源地址: https://github.com/jkpang/PPRows

一个简单的Java模板工具类(二)—简单表达式解析实现

以前写过一个, 用正则比较不高效, 所以用表达式解析方式又实现了一个, 练手. 以前的: http://my.oschina.net/haogrgr/blog/222349 现在的: import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; /**  * 非常非常简单的模板实现  *   * @author desheng.tu  * @date 2015年

基于语法分析器GOLD Parser开发的数学表达式计算器

最近发现一款文法分析神器,看完官网(http://goldparser.org/)的介绍后感觉很犀利的样子,于是就拿来测试了一番,写了一个数学表达式分析的小程序,支持的数学运算符如下所示:常规运算:+ - * / ^ sqrt sqrt2(a,b) pow2(a) pow(a,b)三角函数:sin cos tan cot asin acos atan acot指数对数:log2(a) log10(a) ln(a) logn(a,b) e^最大最小:max(a,b,...) min(a,b,...

微信小程序开源项目库汇总

微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Canvas增强组件 wet

WHY数学表达式的3D可视化

WHY数学表达式的3D可视化 很早之前我就有这种想法,将数学表达式的图形显示出来.最近终于实现了这套较为完善的版本,将其代码公布,也为开源做点贡献.首先系统中定义一套脚本语言格式,用于描述数学表达式.使用时先要将数学表达式写成该脚本的形式,解析脚本代码以生成相应的图形.该系统能够生成曲线图形和MESH图形. 软件下载地址: http://files.cnblogs.com/WhyEngine/MathGraph.7z 代码下载地址: http://pan.baidu.com/s/1pJkD4Bh

编译器--简单数学表达式计算器

做了一个能够计算简单数学表达式值的小计算器,算不上是编译器,但用到了编译器的知识.最近在看一些编译器的东西,所以动手写这个最简单的计算器,既是对那些抽象的编译器知识有个形象的认识,也为后面添加复杂的东西--语句打下基础.此计算器是以<编译原理与实践>中实现的tiny编译器为参考写的,tiny是一个值得去研究的编译器,可以说是麻雀虽小,五脏俱全.从词法分析到代码生成都有,并且代码非常清晰易懂.我觉得想要了解编译器,可以从tiny入手,去将它跑起来并分析.废话不多说,开始记录这个小计算器. 先说下

Windows平台软件推荐:神器小工具(骨灰级)

底层工具 "If you know how to use Process Monitor competently, people of both sexes will immediately find you more attractive." – Scott Hanselman Ultimate Boot CD 和 Ultimate Boot CD for Windows  – 这些光盘是程序员修电脑时的必备工具,毕竟你可没那么多钱给给每个电脑坏掉的亲戚买新机,不是么? Hiren'