大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C++技巧 > 数学表达式解析小工具 (开源)

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

关键词:数学表达式解析小工具  阅读(684) 赞(13)

[摘要]本文是对数学表达式解析小工具 (开源)的讲解,对学习C++编程技术有所帮助,与大家分享。

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

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

代码和软件下载地址:

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

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



相关评论