随笔 - 373  文章 - 1  评论 - 771  阅读 - 137万

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

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

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

代码和软件下载地址:

https://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

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

 

posted on   叶飞影  阅读(3075)  评论(13编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示