注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

简单代码

寻找代码的灵魂

 
 
 

日志

 
 
关于我

对于本博客内所有原创文章和代码的引用必须标明“来源:http://simplesource.blog.163.com/”。如需应用于商业目的必须经本人同意,本人对所有原创文章和代码保留一切权利。 PS:需要部分程序源代码的请留下邮箱地址

网易考拉推荐

编译型复数表达式计算器  

2008-06-03 16:50:21|  分类: 我的程序 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  由于在最近的一个项目中需要用到复数表达式的计算,计算的特点是:对于同一个公式需要进行重复多次的计算,每次计算时只需要变换公式中的某些变量的值。于是花了点时间写了个编译型的复数表达式计算器,该计算器的核心思想是对一个字符串编译一次,转换为一个计算序列,计算时不再分析字符串,直接按照计算序列计算。例如:1+2*5,可以转换为类似下面的计算序列:

1、数值1赋值到临时变量1

2、数值2赋值到临时变量2

3、数值5赋值到临时变量3

4、临时变量2等于临时变量2乘以临时变量5 

5、临时变量1等于临时变量1加上临时变量2

6、返回临时变量1

  这样在多次重复计算时就省去了编译的过程,提高了效率。

  基于以上思想我编写了这个编译型复数表达式计算器。

  该计算器提供了多种复数计算函数,支持变量(变量在表达式中以大写的V开头),支持多行表达式,表达式之间用分号";"间隔。例如您可以这样写计算表达式:

V0=12+i;

V1=V0*V0;

log(V1);

  计算的结果为4.976734 + 0.166282i。

  支持常量e和pi,例如表达式 e^pii 的计算结果为-1.000000 + 0.000000i。

  支持的运算符有-(负号)、+、-、*、/、^(幂运算符)、=、(、)、i(虚数定义符);

  支持的函数有abs, arg, conj, real, imag, norm, exp, log, log10, sqrt, sin, cos, sinh, cosh, tan, tanh

  下面是程序的运行界面:

编译型复数表达式计算器 - 简单代码 - 简单代码

编译型复数表达式计算器 - 简单代码 - 简单代码

 

程序下载地址:

ComplexCalculator.rar

 

  评论这张
 
阅读(1619)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018