エントリー

2010年11月04日の記事は以下のとおりです。

秋の夜長に逆ポーランド

  • 2010/11/04 19:30
  • カテゴリー:散財

 一部のマニアに圧倒的な支持を受けているHewlett-Packardの電卓ですが,ふとしたことから,HP20bが安く売られていることを知り,ついつい買ってしまいました。

 このHP20b,金融用電卓という,私のようなお金に疎い人間にはなんだかピンと来ない電卓なのですが,HPの電卓は逆ポーランド計算機であること,科学技術用の関数電卓のパイオニアであることに加え,金融用の計算機の代名詞としても,よく知られています。

 とりあえず,ローンの計算やら,複利の金利計算やら,私にとっては人生で2度か3度しかないと思われる計算を,わざわざ専用の計算機でやることはないよなーと無関係を決め込んでいたのですが,約3500円という価格で逆ポーランド計算機が手に入るというのはなかなか面白い話で,いっちょ買ってみるか,という事になったのです。

 もう1つ,実はこの計算機,ARM7を使ったプラットフォームとして,自作をする人に各種の技術情報が公開されているという,珍しい電卓です。回路図,書き込み方法,SDKがHPから無償で配布されているので,その気になればこの電卓で走るプログラムを作ることが出来ます。

 キーボード,電源回路,ドットマトリクス表示を含むLCDを装備し,小綺麗なプラスチックの筐体まで用意されたプラットフォームが3500円ですので,これはmake:な人にとってはたまらんものがあるでしょう。

 発売から数年経過した現在,さぞやたくさんのプログラムが作られたんだろうなと期待して探してみましたが,残念な事に皆目見つかりません。HP42sのエミュレーションを行うプログラムは見つけましたが,パワーマネージメントが実装されていないなど,ちょっと実用にならない感じです。

 SDKがあるとはいえ,開発環境は自分で揃えなければならないので,誰でも簡単に取り組めますよというものでもなく,それなりの気合いと根性がなければいけない世界ですから,私のような甘い人間は最初から他力本願で,もしダメでもHP20bという電卓として,普段の生活に便利に使おうと考えていました。

 ということで,先日の土曜日に手元に届いたHP20bですが,私がぱっと触った第一印象は,なかなかええやないかこれしかし,というものでした。

 この電卓,登場時は1万円近くしたものなんだそうですが,特に評判が悪いのがキーです。HPの電卓に特徴的なクリック感がないこと,そしてキーの上側を支点に下側だけが沈む,あの独特な機構が採用されておらず,普通の電卓のようにキー全部が沈み込む,というもので,熱心なマニアはこれがとにかく許せないのだそうです。

 私はそんなに熱心ではありませんので,純粋に使いやすいかどうかだけで判断しましたが,使いやすいとは思えないが,まあそんなにヤイヤイうるさくいうほどでもないなあと思います。

 確かに誤入力もおきやすいし,クリック感がないので本当に入力されたか不安になることもありますが,少なくとも触っていて「嫌だな」と思うような感じはなく,使っていて楽しい電卓ではないかと思いました。

 ふと,評判の良いHP35sのキーが,私にはそんなによいとは思えなかったこと思い出しました。あのクリック感と深いストロークが,肩に力が入ってしまうのですね。HP20bはその辺がとてもライトな感じです。

 持った感じも悪くありません。左手で持ち,右手でキーを押すようにすると,案外サクサク入力出来ます。なにかと出番の多い[INPUT]キーがちょうど左手の親指で押せる位置にあるので,スタックに積むという操作がとても楽です。

 パッケージには英語と日本語それぞれのクイックスタートガイドが同梱されています。全部を網羅したマニュアルではありませんので,ここに書かれていないこともたくさんありますので,本家HP.comから英文のマニュアルをダウンロードしておく事をおすすめします。

 さて,ここまで印象がよいと,技術用の計算に使えるのかどうかが俄然気になってきます。理系には理系の数字に対するこだわりもありますので,ここが気に入らないと,即ジャンク箱行きです。

 まず逆ポーランド記法による入力です。初期設定では連鎖(Chain)モードという,普通の電卓のような入力方法になっているので,せっかくHPなんですから,これは即座に逆ポーランド記法にしなければなりません。

 [SHIFT]と[Mode]で設定メニューに入り,上下キーを何度かおして,Chainが出てきたら[INPUT]キーでRPNにします。これで切り替わりました。

 なお,ALGモードという,ちょっと気になるモードも用意されています。これは,乗除算や括弧の中身を先に計算するとか,演算の規則に従って計算をするモードです。+なり-という演算子を打ち込んだだけでは計算が行われませんので,ポケコンに近いと言えば近いですね。

 一応式の通りに打ち込めば答えは出ますし,馴染みやすいと言う点ではこれを目当てにこの電卓を買ってみるのも悪くはないかも知れません。でもシャープやカシオの関数電卓がもっと安く売っているのですから,わざわざこれを買う理由にはならないですね。ついでにいうと,式の評価の結果保留される計算の数は7つまでとのことです。

 さてさて,ここまでは楽勝です。次は表示の桁数。なんとこの電卓,初期設定では小数点以下が2桁に丸められて表示されます。なんと3.141592が3.14としか出てきません。内部では15桁精度が保持されており,表示される段階で丸められるのですが,これはちょっと論外ですよね。ゆとり教育にもほどがあります。(あ,ゆとり教育では3でしたね)

 で,さすがにこれは設定を変更できます。[SHIFT]と[Mode]で設定に入ることが出来ますが,最初に出てくるFIXという設定を,現在の値の2から変更すればよいのです。

 しかし,ここを9なんかに設定すると,クリアしたときの表示が0.000000000と小数点以下ずらーっとゼロが列んで,見にくいことこの上無しです。なんでわざわざこんなことをするのかなあと思いつつ,これは金融向けの電卓なんだと,無理に納得するしかありません。

 ここでTipsです。英文マニュアルによると,このFIXの値を-1に設定すると,通常の電卓と同じ表示になるそうです。小数点以下ゼロになっている桁は表示がされず,3.1415926は3.14でも,3.141592000でもなく,ちゃんと3.141592と表示されます。

 ただ,普通の電卓と違うところもあって,1/3は,普通の電卓なら0.33333となるところを,この設定では3.333333(-1)と出てきます。(-1)というのは左端の指数表示の小さい数字表示領域の表示です。

 これは指数を使った表示ですが,私たちにとってはこの表示は大変身近で,見やすいものです。0.0000043などと言われてもややこしいだけですが,4.3(-6)と出てくれればすっきりですね。10倍単位で大まかに大きいか小さいかをさっと判断するというのは,慣れればとても便利な考え方です。

 もう一つTipsです。このFIXの設定はショートカットが用意されています。[SHIFT]を一度押し,[SHIFT]を押しながら数字のキーを押すと,その数字がFIXに設定されます。1を押した後[+/-]を押せばちゃんと-1に設定もされますので,使ってみて下さい。

 ところで,このFIXの設定は,[SHIFT] [RND]による丸めにも有効なのですが,-1が設定されていると0が設定されていると解釈されるようで,小数点以下がばっさりと落とされます。本当なら設定が別に出来て,FIXが-1でも[SHIFT] [RND]で少数以下2桁に丸めるなどと出来れば便利かなと思うのですが,残念です。

 この段階で,普通の電卓を越えました。さて,次は常用対数の扱いです。もともと金融向けですので,複雑な関数は期待できないのですが,この電卓はちょっとした関数なら扱えるようになっています。

 しかし,キーボードには「log」の文字がありません。LNやらeやら,自然対数に関係する関数はありそうなのですが,肝心の底を10に持つ対数が扱えないのは辛いところです。

 これをgoogle先生に尋ねてみたところ,底の変換公式を使ってしのげ,と恐ろしいことを書いてありました。ただでさえ逆ポーランド記法という慣れない方法でスタックを意識しながら操作するのに,底の変換公式まで持ち出すとなると,もうポケコンでいいよ,とあきらめてしまいそうです。

 ここで再びTips。常用対数を扱う方法です。HP20bにはMathメニューという,普段余り使わないと思われる関数群をメニューから選択する方法があります。クイックスタートガイドも,説明書もさっと流してあるだけなのでスルーしそうですが,このMathメニューに,常用対数が用意されていました。

 例題)電圧増幅率2倍は,何dBか?
 操作)2 [SHIFT] [Math] [↑] [↑] [INPUT] 20 [*]
 答え)6.02

 Mathメニューの一番最後にLOGという項目があります。ここに素早く到達するには↑を2度押すのが良いようです。

 さて,これで電気屋さん必須のdBの計算が出来るようになりました。どうにか技術向けにギリギリ使える電卓と言えそうです。

 もう1つおまけのTipsです。[SHIFT] [Math]のあともう一度[Math]を押すと,円周率πの値が表示されます。スタックして使うと,いちいち打ち込まなくていいので楽です。

 続いてRPNならではの使い方です。電気屋さんはよく,抵抗を2本使って電圧を分圧して欲しい電圧を作ります。これをさくっと計算して見ます。

 例題)12kΩと24kΩを直列につなぎ,12kΩに3.3V,24kΩに0Vを加えた。中点の電圧はいくらか?
 操作)24 [INPUT] [INPUT] 12 [+] [/] 3.3 [*]
 答え)2.2

 これは単純な計算だけですので,普通の電卓でも問題ないように思いますね。でも,実はこの計算,同じ値が分母と分子に二度出てきます。これを2度打ち込むことが苦痛でない場合は別に構わないのですが,RPNですと[INPUT]を2度押して,スタックに2つ積むことで入力回数を減らせるのです。

 今回は24くらいだからいいですが,これが23.946826だったりすると,面倒なばかりか入力ミスも心配になります。これは便利な仕組みです。(とはいうものの,電気屋としては23.946826はもはや24としても問題ない数なので,あんまり説得力はありませんね。)

 では続いて,抵抗の並列接続の合成抵抗を求めましょう。

 例題)47kΩと27kΩを並列に繋いだ時の合成抵抗はいくらか?
 操作)47 [INPUT] 27 [*] [SHIFT] [ANS] 47 [+] [/]
 答え)17.1486kΩ

 いろいろな入力方法があると思うのですが,私がまず考えついたのはこれです。本当は47も27も入力済みなので,両方とも再利用できるとよかったのですが,スタックの状態を考えるのはこのくらいが限界ですね,今の私には。

 悔しいので意地になって47も27を再利用する方法を考えてみました。

 操作)47 [INPUT] [INPUT] 27 [INPUT] [INPUT] [↓] [*] [↓] [+] [↑] [∝] [/]

 まず4つのスタックに数字を詰め込み,上下キーとスワップを使って計算します。確かに数字の入力は一度きりですが,スタックの操作がややこしくて,ちょっと私にはしんどいです。

 こんな感じで,本来電卓は暗算にはちょっとつらい計算を手伝ってくれることがありがたいわけです。私などはゆるい技術者ですので,複素数計算や行列計算が,電卓でやらねばならないほど身近な存在ではありませんので,このくらいで十分です。

 ついでですので,発光ダイオードの電流制限抵抗の計算もやってみましょう。

 例題)電源電圧5V,VF=1.8VのLEDに8mAを流す抵抗を求めよ。
 操作)5 [INPUT] 1.8 [-] 8 [SHIFT] [EEX] 3 [+/-] [/]
 答え)400Ω

 ここで,[SHIFT][EEX]ですが,これは指数を使って入力するものです。8mAというのは0.008Aのことで,8x10^(-3)Aのことです。8E-3Aと書くこともありますね。ミリとかマイクロとかナノとか,こういう補助単位を我々は頻繁に使います。1つや2つなら頭の中で計算できますが,たくさん出てくると素直に補助単位も入力に反映させた方が楽な場合も多く,私は間違いを防ぐためにも,多用する癖があります。

 まあ,もっというと私の場合いちいち真面目に計算などせず,ざっくり1kΩをいれて3.2mAで動かしてしまうんですが・・・最近のLEDなら1mAも流せば十分明るいですし・・・え,そんな話はどうでもいいですか。そうですね。

 では次にHP20bに備わっている,ちょっと面白い計算機能です。

 例題)3.141,2.718,1.414,1.732,2.236の総和,平均を求めよ。

 まず,[SHIFT] [Data]でデータ入力モードにします。X(1)と出ますので,ここに1[INPUT]とし,Y(1)に3.141[INPUT]と入れます。X(2)となるので2[INPUT],2.718[INPUT]とし,以下同じように入力していきます。

 Y(5)まで入ったら,[SHIFT] [Stats]で統計モードに入ります。2Varsと表示されていると思いますが,無視して[↓]を3回押します。Sumsと出るのでここで[INPUT]を押し,[↓]を押してΣYにすると,11.241という総和が出てきます。

 次に平均です。[SHIFT] [Stats]で[↓]を押すとDescriptiveと表示されます。ここで[INPUT]を押すとアイテム数が5と出ていますので,[↓]をy Meanと出てくるまで押します。すると2.2482と出ています。

 これ,案外便利に使えるかも知れません。なお,このデータのクリアは[SHIFT] [Reset]でStatsを表示させ,[INPUT]を2度押します。

 もう1つお遊びをご紹介。日数計算です。

 例題)1972年10月3日生まれの人は,2010年11月4日まで何日生きたことになるか?

 まず,[SHIFT] [Date]で日付入力モードに行きます。Date1の入力画面になりますので,10.031971[INPUT]と押します。ややこしいのですが,最初に月,ピリオドを入れて日,続けて年を入れます。

 [↓]キーを押すとDate2の入力画面になりますので,同じように11.042010[INPUT]と入力します。

 ここで,入力した画面で,画面右の指数表示の部分に数字が出ていますが,これ実は曜日です。2010年11月4日は木曜日ですので,月曜日から数えて4番目,すなわち4という数字が出ています。

 そしていよいよ日数の表示です。[↓]を押して,Between Daysが出てきたら[=]を押す(押さないとダメです)と,13911と表示されます。この2つの日付の間は,13911日あるということになります。

 これはなんの役に立つのか,私にはちょっとわからないのですが,おそらく私の知らない金融の世界では重要な計算なのでしょうし,ネタとしてワイワイおもしろがる計算としては,なかなかのものではないでしょうか。

 最後にお約束の,HPの電卓に古来から伝わる,伝説の計算をやっておしまいにしましょう。

√( (8.33*(4-5.2)÷((8.33-7.46)*0.32))) / (4.3*(3.15-2.75)-(1.71*2.01)) )

 答えは,もちろん,4.57278428023です。普通の電卓,あるいはポケコンでこの計算を頑張って解いてみて下さい。ふふ。

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2010年11月

- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed