+ -
当前位置:首页 → 问答吧 → 有谁对dc计算器有兴趣的?

有谁对dc计算器有兴趣的?

时间:2011-04-16

来源:互联网

虽然没想明白这个东西有什么实际用处,bc完全可以用一种更可观的方式来代替dc.
但用来做做智力体操,还是有点意思的。

作者: cjaizss   发布时间: 2011-04-16

不过想来也还是有实际用处,用来写脚本,有的时候产生逆波兰更容易一些

作者: cjaizss   发布时间: 2011-04-16

好,偶写一个简单的dc教材吧。

作者: cjaizss   发布时间: 2011-04-16



QUOTE:
好,偶写一个简单的dc教材吧。
cjaizss 发表于 2011-04-16 18:42


首先,dc是一个计算器。但其操作习惯不同于我们常用的中缀式,而采用逆波兰式的方法。
所谓中缀式,即操作符穿插于操作数之间。而逆波兰式则不是,操作符在操作数之后,其好处在于无需复杂的语法,无需操作符优先级。
逆波兰式的计算是要先建一个栈,遇到操作数进栈,遇到操作符,比如是n元的操作符,则从栈定出栈n个元,计算完了再把结果进栈。
比如
(1+2)*4的逆波兰式为
1 2 + 4 *
计算过程为
初始:栈空
--栈顶--
--栈底--

1进栈

--栈顶--
1
--栈底--

2进栈
--栈顶--
2
1
--栈底--

+操作符,二元操作,
栈顶两个元2,1出栈,
--栈顶--
--栈底--
运算得到3,进栈
--栈顶--
3
--栈底--

4进栈
--栈顶--
4
3
--栈底--

*操作符,二元操作,
栈顶两个元4,3出栈,
--栈顶--
--栈底--

运算得到12,进栈
--栈顶--
12
--栈底--

作者: cjaizss   发布时间: 2011-04-16