什么是操作数栈?
What exactly is an operand stack?
我一直在自学Swift。我正在学习斯坦福大学 iTunes U 上的 iOS 8 Swift Programming 课程。
目前,我正在学习这门课程,并与教授教授的教授一起从事一个项目。这是一个计算器应用程序。他很快就完成了课程。所以他提到了"operand stack".
这个词
我没明白是什么意思。那么 "operand stack" 到底是什么意思?
谢谢。
您正在实施的计算器恰好是 RPN 计算器吗?
操作数是要对其执行操作的数字。操作数堆栈是 "stack" 个数字。 IE 一组数字,其中可以确定数字添加到组中的顺序。
在 RPN 计算器中,您会将操作数(数字)压入堆栈,然后对其执行一些操作(例如加、减等)
Paul Hegarty 的示例与所谓的 Polish notation:
非常相似
Polish notation, also known as Polish prefix notation or simply prefix notation, is a form of notation for logic, arithmetic, and algebra. Its distinguishing feature is that it places operators to the left of their operands. If the arity of the operators is fixed, the result is a syntax lacking parentheses or other brackets that can still be parsed without ambiguity.
唯一的区别是他从上到下写堆栈(就像堆栈一样),而符号表示从左到右写。
这种方法对于编程来说非常方便,因为它不需要我们注意括号和运算符的优先级。
我一直在自学Swift。我正在学习斯坦福大学 iTunes U 上的 iOS 8 Swift Programming 课程。
目前,我正在学习这门课程,并与教授教授的教授一起从事一个项目。这是一个计算器应用程序。他很快就完成了课程。所以他提到了"operand stack".
这个词
我没明白是什么意思。那么 "operand stack" 到底是什么意思?
谢谢。
您正在实施的计算器恰好是 RPN 计算器吗?
操作数是要对其执行操作的数字。操作数堆栈是 "stack" 个数字。 IE 一组数字,其中可以确定数字添加到组中的顺序。
在 RPN 计算器中,您会将操作数(数字)压入堆栈,然后对其执行一些操作(例如加、减等)
Paul Hegarty 的示例与所谓的 Polish notation:
非常相似Polish notation, also known as Polish prefix notation or simply prefix notation, is a form of notation for logic, arithmetic, and algebra. Its distinguishing feature is that it places operators to the left of their operands. If the arity of the operators is fixed, the result is a syntax lacking parentheses or other brackets that can still be parsed without ambiguity.
唯一的区别是他从上到下写堆栈(就像堆栈一样),而符号表示从左到右写。
这种方法对于编程来说非常方便,因为它不需要我们注意括号和运算符的优先级。