究竟什么是操作数堆栈?

时间:2015-11-15 16:42:01

标签: stack calculator operands

我一直在自我教学Swift。我正在学习斯坦福大学的iTunes iOS 8 Swift Programming课程 目前,我正在学习该课程并与教授该课程的项目一起开展项目。它是一个计算器应用程序。他很快就完成了整个课程。所以他提到了术语"操作数堆栈" 我没有明白这意味着什么。那么"操作数堆栈"实际上是什么意思?

谢谢。

2 个答案:

答案 0 :(得分:0)

您实施的计算器是否恰好是RPN计算器?

操作数是要在其上执行操作的数字。操作数堆栈是数字的“堆栈”。 IE是一组数字,可以确定数字添加到组的顺序。

在RPN计算器中,您可以推送堆栈中的操作数(数字),然后对它们执行某些操作(例如添加,减去等)。

答案 1 :(得分:0)

Paul Hegarty的例子非常类似于所谓的Polish notation

  

波兰表示法,也称为波兰语前缀表示法或简称前缀表示法,是逻辑,算术和代数的一种表示形式。它的显着特点是它将操作符放在操作数的左侧。如果运算符的arity是固定的,那么结果是缺少括号或其他括号的语法仍然可以解析而没有歧义。

唯一的区别是他从上到下编写堆栈(就像堆栈一样),而符号意味着从左到右书写。

这种方法非常便于编程,因为它不需要我们处理括号和运算符优先级。