HP计算器RPN输入 图解入门
本帖最后由 hpcalc 于 2013-8-29 23:08 编辑在计算器上用RPN方式计算时,输入顺序同习惯的顺序不大一样。比如一般3加2,输入3+2;用rpn输入就成了 3 2 + ,原因是rpn把操作符放在所有操作数的最后。
rpn不仅能够节约一定的按键操作,可以看到每步计算结果,而且在编程方面也有其独特的优点。
下面是一个演示rpn输入例子,计算 1÷((1000+4+3)*2),实际计算时一般不如此输入,而是输入 1000 enter 4 + 3 + 2 1/x
rpn输入的数字全部进入计算器内部的堆栈,可以把堆栈想成一个盛大饼的盆子,每次输入的数字(大饼)都摞在前面的所有饼的上面,而且要取得时候最后放入的大饼被最先取出来。
只不过在HP计算器上,这个盆子是底朝天倒着放的,最新放入的一张饼永远被编号为1号(1:),如果又有新饼放入了,原来的一号饼的编号就成了2号(2:),依次类推。
上面图片从下向上演示了分别输入 1 enter 2 enter 3 enter 4 enter后的相应堆栈情况。。
输入1000,然后按enter(回车)。未按回车之前1000位于输入缓存中
按加号,计算器将1号堆栈的数1000和2号堆栈的数4取出来(取出后堆栈从上往下分别为 123 ,其中3变为了1号,但是这是计算器内部的中间步骤,并不显示在屏幕上),相加,然后将结果1004放入堆栈,变成如下图所示
再按加号,结果如下图
按乘号
按除号
得到结果
本帖最后由 hpcalc 于 2013-8-29 23:18 编辑
下面输入 (1+X) / (1-X)
首先输入 1 enter X
然后输入加号,得到1+X。虽然刚才输入1000后没有按enter将1000压入1号堆栈,但是输入缓存中的数也是可以直接运算的,可以认为这是0号堆栈。就比如烙饼的手里拿着刚出锅的大饼,虽然没有放入盆子,但是有顾客要饼的话也可以直接给顾客。
然后再次输入1 enter X,这时刚才的运算结果1+X被压入了更深的堆栈备用。
输入减号
输入除号,得到结果。
RPN确实是好东西,习惯了就会有依赖性。 在线版的RPN计算器
页:
[1]