找回密码
 立即注册
查看: 1015|回复: 17

简易数学表达式解析库

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 15:05:23 来自手机 | 显示全部楼层 |阅读模式
STC科学计算器官方例程玩够了,也是时候该动手写写了,老不自己写c都该忘了。。。

轻量级数学表达式解析库。
输入一个数学表达式字符串,一个函数给出结果,或抛出错误。
支持:
     加减乘除平方开方,严格按照的C优先级
    sin cos tan及其反函数双曲函数,ln和lg
    rand()和random(a,b)
    6个浮点参数xyz uvw(可以用于函数和解方程)
不支持:复数,向量
向量和求和这些个慢慢支持吧,写了500行就脑壳疼了,先这样V1.0版
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-21 22:50:24 | 显示全部楼层
User_test.zip (6.77 MB, 下载次数: 126)
V2.0版源码,和Ans功能的测试视频。有了Ans功能就灵活多了,能玩很多迭代的东西了,比如求PI,开根号之类的
2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 15:09:46 | 显示全部楼层
他就是用来解析表达式的
特别复杂的那种也可以,比如:cos(8+1*ln(9.783-2)/6+1)*sin(cos(9-7*7))+(1.01^100+(-1*900.01^7+sin(9-8*9)))
他就会返回  -4.78334e+020,对于做计算器核心功能就已经实现了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 15:19:57 来自手机 | 显示全部楼层
编译完了话15k左右吧。字符限长64时,占小1k左右ram,(64个字符其实非常够长了oled12864都显不下了。。。)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 15:21:16 来自手机 | 显示全部楼层
主打一个方便,字符进数字出,一个函数完事。分享给大家玩玩(可能会有BUG哦)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-7-18 16:43:21 来自手机 | 显示全部楼层
期待楼主的源码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 16:50:19 | 显示全部楼层
cal.cpp (17.18 KB, 下载次数: 73) cal.exe (1.91 MB, 下载次数: 75)
先来份C++的吧
这个.exe运行出来直接往里输入字符串就会出结果,如果有错误程序立刻终止
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 18:42:21 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 18:44:41 | 显示全部楼层
User_test.zip (6.77 MB, 下载次数: 85)
用24M,下载到stc8h里,就能跑了!
大型表达式精度很高,能跟GGB一样了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 18:46:14 | 显示全部楼层
噢对,刚发的那个EXE有重大BUG!
就是lg不小心当成ln了。。。
主要一看math.h里给的是log(),就以为是那个以十为底的对数捏。。。
C51版已修正这个bug
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-18 19:32:28 来自手机 | 显示全部楼层
_NCY_ 发表于 2024-7-18 18:44
用24M,下载到stc8h里,就能跑了!
大型表达式精度很高,能跟GGB一样了

不用别的外围电路,运行起来直接串口交换,这个demo非常好上手
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 04:12 , Processed in 0.213441 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表