码迷,mamicode.com
首页 > 其他好文 > 详细

表达式求值的 计算器

时间:2015-09-02 02:00:23      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

写调试器的时候 ,写了这个代码,平时用系统的计算器,很不爽,因为输入太麻烦

技术分享

支持 10 进制 以及 十六进制的 算式 , 支持所有c语言的所有运算符 ,优先级也是一样的 ,以下是测试的代码

 TCHAR* es[] = {
 // _T("") ,
  _T("10 *(a+b) ") ,
  _T("10 << b-a") ,
  _T("a - ~b ") , 
  _T("a+ b++") ,
  _T("~++b ") , //优先级相同 , 都是右结合性, 应先计算右边的运算
 };
 for (int i = 0; i <5; i++) {
  HexEquation e(es[i]);
  e.compile();
  printf("---- 结果是:%x\n" , e.result);
 }

 

c++的代码, 如果要扩展的话,直接继承,重写几个函数就可以了.

down : 

这里下载

 

表达式求值的 计算器

标签:

原文地址:http://www.cnblogs.com/lyo1005/p/4777415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!