cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 6762|回复: 3

HP计算器RPN输入 图解入门

[复制链接]
发表于 2013-8-29 22:56:42 | 显示全部楼层 |阅读模式
本帖最后由 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
rpn1.jpeg
rpn输入的数字全部进入计算器内部的堆栈,可以把堆栈想成一个盛大饼的盆子,每次输入的数字(大饼)都摞在前面的所有饼的上面,而且要取得时候最后放入的大饼被最先取出来。

只不过在HP计算器上,这个盆子是底朝天倒着放的,最新放入的一张饼永远被编号为1号(1:),如果又有新饼放入了,原来的一号饼的编号就成了2号(2:),依次类推。

上面图片从下向上演示了分别输入 1 enter    2 enter    3 enter    4 enter后的相应堆栈情况。。

7.jpeg
输入1000,然后按enter(回车)。未按回车之前1000位于输入缓存中

8.jpeg
按加号,计算器将1号堆栈的数1000和2号堆栈的数4取出来(取出后堆栈从上往下分别为 1  2  3 ,其中3变为了1号,但是这是计算器内部的中间步骤,并不显示在屏幕上),相加,然后将结果1004放入堆栈,变成如下图所示

10.jpeg
再按加号,结果如下图

11.jpeg
按乘号

12.jpeg
按除号

13.jpeg
得到结果
 楼主| 发表于 2013-8-29 23:16:08 | 显示全部楼层
本帖最后由 hpcalc 于 2013-8-29 23:18 编辑

下面输入 (1+X) / (1-X)

首先输入 1 enter X
15.jpeg

然后输入加号,得到1+X。虽然刚才输入1000后没有按enter将1000压入1号堆栈,但是输入缓存中的数也是可以直接运算的,可以认为这是0号堆栈。就比如烙饼的手里拿着刚出锅的大饼,虽然没有放入盆子,但是有顾客要饼的话也可以直接给顾客。
16.jpeg

然后再次输入1 enter X,这时刚才的运算结果1+X被压入了更深的堆栈备用。
17.jpeg

输入减号
18.jpeg

输入除号,得到结果。
19.jpeg
发表于 2013-8-30 00:35:53 | 显示全部楼层
RPN确实是好东西,习惯了就会有依赖性。
 楼主| 发表于 2013-8-30 00:38:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-3-29 09:34 , Processed in 0.058230 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表