带小数点的C ++后缀评估

时间:2010-11-17 05:27:07

标签: c++ evaluation postfix-notation

我已经实现了分流码算法(使用来自维基百科的代码,修改为使用stl堆栈/队列),但现在我想知道它将如何评估我从分区得到的小数。 scriptasylum.com上的javascript应用程序(无法链接)工作正常,并提供预期的输出:

Infix: 1/6*((1/4)/(1/2)+1/2)
Postfix: 16/14/12//12/+*
Eval: 0.16666666666666666 (1/6)

Infix: 0.5+1
Postfix: 0.51+
Eval: 1.5

我在这里找到了一个后缀评估的例子,但它没有完成,也没有考虑小数点。

这是我目前的代码:http://codepad.org/zDXnOELK

1 个答案:

答案 0 :(得分:2)

简单的事情(根据语言语义,Javascript impl正在做的事情)是在内部将所有数字表示为double

如果你想做一些更聪明的事情,我得警告你,这是一个很多更多的代码和很多更难的设计决策,我建议你从阅读开始在Scheme numeric tower