HP 9100B エミュレータで古典的技術 3 Level RPN を体験
電卓喫茶に書くには微妙な内容なので、ここに書きます。
The Museum of HP Calculators のフォーラムに HP 9100B エミュレータの情報が投稿されていました。2017年4月1日に投稿されたばかりです。
http://www.hpmuseum.org/forum/thread-8084.html
HP 9100Bは世界初の関数電卓でありRPN電卓でもある HP 9100A(1968年発売)の後継機種です。HP 9100A/Bは 3 Level RPN という技術を使っています(現在の技術は 4 Level RPN という進化したものです)。
以前、「RPL言語の歴史的意義」(現在は電卓喫茶へ移転)という記事で 3 Level RPN のことを少しだけ書いたのですが、これで実際に体験できます。
HP 9100Bのエミュレータはここからダウンロードできます。Windows版のみです。
HP Classic Calculator Emulator +
http://www.teenix.org/
ダウンロードしたら.zipファイルを解凍して、その中の HP9100B.exe をクリックするだけで使えます。
起動したら数値キーの上にある電源スイッチを右に倒して電源を入れましょう。
ここからは実際に 4 Level RPN 電卓を使ったことのない人には理解し難いかもしれません。
3 Level RPNはスタックレジスタがX,Y,Zの3つしかなく、Xが数値入力レジスタ、Yが計算結果格納レジスタ、Zが一時レジスタという考えです。
HP 9100BはX,Y,Zレジスタを全て同時に表示します。
3 Level RPN には 4 Level RPN の [ENTER] キーがありません。
その代わり [↑] キーが 4 Level RPN の [ENTER] と似た動作をします(Y→Z, X→Y, Xは変化しない)。
[↓] キーはその逆動作です(Y→X, Z→Y, Zは変化しない)。
4 Level RPNと違って、演算子ボタン(+,-,×,÷)を押したらX,Yの値を元にして計算し、その結果をYレジスタに格納します。このとき、Yレジスタ以外は変化しないので、4 Level RPN のようなスタックがズレるような動作はしません。
このような仕様のため、YとZの計算をしたいときは [↓] キーでY→X, Z→Yと移動させる必要があります。
「RPL言語の歴史的意義」に書いた数式が実際に計算できるかどうか試しみましょう。以下の式です。
(123.78+75.98) × (9560.45-7995.1) ÷ (323.11-310.25)
キー操作は以下のようになります。
123.78 [↑] 75.98 [+] 9560.45 [↑] 7995.1 [-] [↓] [×] 323.11 [↑] 310.25 [-] [↓] [÷]
結果は下の画像のように 24315.27となります。
有効桁数12桁の場合、24315.2656299なので合っています(四捨五入に注意)。
左から2番目のスイッチをFLOATINGにするとさらに精度が上がります。
その代わり小数点の位置が固定(1番目と2番めの数字の間)になるので、数値を入れる度に[Enter Exp]ボタンで指数を入れる必要があるので、今回は使いませんでした。
下の写真がFLOATINGモードの一例です。
[↑] ボタンを [ENTER] に置き換えて、[↓] ボタンの操作をしなければ、今の 4 Level RPN と同じ操作になります。
今の 4 Level RPN が完成する前にこのような試行錯誤があったのですね。
以上です。