特集 2021年1月5日

君は逆ポーランド電卓を知っているか? ~そして自作へ

逆ポーランド記法で計算する電卓について語ります

一般にはあまり知られていない電卓がある。その名は「逆ポーランド電卓」(「RPN電卓」とも言う)。計算方法が普通の電卓とは違っており、使い方を知らないと1+1の計算すら困難な代物だ。

製造しているのは、ほぼHP(ヒューレット・パッカード)一社のみ。それも高機能で比較的高価な機種しか出回っていないため、気軽に持ち歩いて使うには少し躊躇してしまう。

もっと気軽に逆ポーランド電卓を使いたい。最近ではスマホアプリがあるけれど、いやいや、やはり電卓はボタンをポチポチするに限るのだ。市販品がないならば、もう自作するしかない……!

いきなり込み入った話で何がなんやらだと思うので、これから順番に説明させて下さい。

1983年徳島県生まれ。大阪在住。散歩が趣味の組込エンジニア。エアコンの配管や室外機のある風景など、普段着の街を見るのが好き。日常的すぎて誰も気にしないようなモノに気付いていきたい。(動画インタビュー)

前の記事:タイムズパーキングの看板、でっぱってるか? でっぱってないか?

> 個人サイト NEKOPLA Tumblr

逆ポーランド記法とは

世の中には、大きく分けて2種類の電卓がある。ほとんどの人が使っている普通の電卓(「中置記法の電卓」という)と、入力方法の異なる「逆ポーランド記法の電卓」だ。

001.jpg
これが逆ポーランド電卓(HP-16C)。どこにも“=”キーがなく、反面デカデカと“ENTER”キーがあるのが特徴

電卓の紹介をする前に、まずは「逆ポーランド記法」ってなんだ? という点について説明する必要がある。めんどうだけど、少しお付き合い下さい。

言語にはいろんな語順がある。日本語だと「主語→目的語→動詞」だけれど、英語だと「主語→動詞→目的語」となるように。それと同様に数式にも種類があって、記法ごとにいろんな記載順序があるのだ。

002.png
記法ごとに演算子(+)の位置が異なっている

一般的に使われているのは中置記法だ。一方でポーランド記法は、演算子(+)が数字の前に、逆ポーランド記法は数字の後に記載される。今回注目したいのは、この「逆ポーランド記法」の方である。後で説明するが、この記法はコンピュータプログラムとの相性も良く、いまも電卓の世界などで愛され、生き続けている。

また「1 2 +」という順番は、「1と2を足す」という日本語の語順にも一致しており(日本語文法は逆ポーランド記法に近い)、日本人には比較的なじみやすい記載順なのだ。

ちなみに「ポーランド」記法という名前は、ポーランドの論理学者ヤン・ウカシェヴィチが考案したことに由来するという。「ウカシェヴィチ記法」とせずに、自国の国名を付けた彼の奥ゆかしさはわりと好きである。

いったん広告です

逆ポーランド記法があると何がうれしいか

これだけ見ると「ただ演算子の位置が違うだけじゃないか!」と思えてしまうのだけれど、どっこい、ちゃんとメリットがある。

逆ポーランド記法の良いところは、カッコや演算子の優先順位を気にしなくてもいい点にある。

003.png
中置記法の場合は、カッコがあれば先に計算する、“+-”より“×÷”の方を先に計算する、というルールがある。逆に言うと、カッコがないと計算式を表現できない。計算するときには最初に式全体を把握し、計算順を見極めないといけない
004.png
それが逆ポーランド記法だとこうなる。カッコがなくなり、左から右へ順に読んでいくだけで正しい計算ができるのだ。この数式を日本語に訳して読むと、「100から、2と3を足したものと、4と5を足したものを掛けたものを引く」になる。とても直球な書き方

こんな風に数式を逆ポーランド記法であらわせば、ややこしい計算順序とはおさらばだ。ただ左から右に素直に読んでいくだけで、誰がやっても一意に答えを導き出すことができる。すごいぞ、逆ポーランド記法。

もちろん中置記法も逆ポーランド記法も、どっちも同じ意味を持つ数式である。でも演算子の位置が違うだけで、まるで別物に見えるのが面白い。日常的に見慣れたものとは微妙に異なる、でもどこか似ている表現方法。もし並行世界が存在したならば……きっとそこでも同じ数学の概念はあるだろうけど、記法は微妙に違っていても不思議ではない。ひょっとすると、逆ポーランド記法が主流の世界が存在するかもしれない。そんな妄想をしてみるもの楽しい。

いったん広告です

逆ポーランド電卓ってのがあるんです

で、話はようやく電卓である。この逆ポーランド記法で計算する電卓が存在しており、それこそが「逆ポーランド電卓」(正確には逆ポーランド記法の電卓だが、ここでは逆ポーランド電卓と呼ぶ)なのだ。

005.jpg
私が持っている電卓のひとつ、1976年に発売された「HP-97」。捨てられそうになっていたところを譲り受けた。定価は168,000円もしたらしい

HPは1960年代から逆ポーランド電卓の製造を開始。いまに至るまで連綿と続いている歴史ある電卓である。

006.jpg
左が、2021年現在でも入手容易な「HP 35s」。右は「HP-16C」というプログラマ向けの電卓で、2進数や16進数の計算がしやすいのが特徴という貴重な機種

なんで何個も持っているのかと言うと、単純に逆ポーランド電卓が好きだからだ。複雑な式になるほど、カッコを使う必要がないため計算がしやすい。慣れれば通常の電卓よりも早く操作可能であり、愛好者が多くいるのもうなずける。

あとはやはり、逆ポーランド記法にただよう異世界感だろう。日常ではほとんど見ない表現なのに、ちゃんと定義があり、しかもその通り動く電卓まで存在している。逆ポーランド記法が普通の世界がそこにはあって、電卓というインターフェースを通じて簡単に足を踏み入れることができるのだ。なんだか触っていてワクワクするのである。

そうそう、名前もいい。「逆ポーランド」(英語ではReverse Polish)という裏世界みたいな呼び方が最高である。

いまだとスマホアプリがたくさん出ているので、気になった方はまずそれを触ってみたらいいかも。

いったん広告です

逆ポーランド電卓の使い方

逆ポーランド電卓には“=”キーがなく、逆に‘“ENTER”キーがあるのが特徴だ。どうやって使うのかを簡単に紹介しておこう。

007.png
入力する際は数字の区切りが必要なため、間に“ENTER”キーを押して電卓に知らせるようになっている。そして演算子を押した瞬間に答えが出るため、イコールが必要ない
008.gif
実際に計算してみた様子がこちら

使い方を知らないと1+1すら計算できない、というのが分かっていただけただろうか。

そんな逆ポーランド電卓だけれど、古い人気機種は中古価格も高く、上で使っている「HP-16C」(1982年発売)も約3万円が相場になっている。ちょっと持ち出して使おうと思っても、なかなか躊躇してしまう値段。

いまではスマホアプリにお株を奪われてしまったけれど、思い起こせば普通の電卓はバラエティ豊富だった。カード式や、キーホルダー型などなど。おもちゃ感覚で作られ、それをみんなが使っていた。あの感じが、逆ポーランド電卓にも欲しい。

でもまあ、今からそんな状況になることはまずないだろう。みんながキーホルダーとして逆ポーランド電卓をぶら下げて、気軽に逆ポーランド記法で計算する……そんな時代は永遠にやって来ないのだ。

でも……実はひとつだけ方法がある。自分で作ってしまえばいいのである。キーホルダー型の逆ポーランド電卓を!

いったん広告です

逆ポーランド電卓を作りましょう

とその前に、逆ポーランド記法とコンピュータプログラムの相性の良さについて話しておきたい。

逆ポーランド記法を使った計算をコンピュータ上で実現するためには、「スタック」と呼ばれるデータ構造を利用する。スタックとは、スーパーのカゴのようなものだ。

009.jpg
これをイメージして欲しい

カゴは下から上に積み上げられる。そして上から入れて、上から取り出すことしかできない。よって最後に入れたカゴが、すなわち次に来た人が最初に取り出すカゴになる。この後入れ先出しの構造をスタックという。

ところで、スーパーのカゴがこのスタック構造になっているせいで、下の方にあるカゴはほとんど使われる機会がなくて不憫だなと見るたびに思う。つねに上のカゴの重さに耐えているだけで、いつまで経っても順番が回ってこない下のカゴ。かわいそうな下のカゴ、という絵本が書けそうだ。

……話は戻るが、そのスタック構造を使って、逆ポーランド記法の計算をする様子がこちら。

010.png
値が入力されるとスタックに積む。演算子(“+”など)が入力されると、値をスタックから2つ取り出して演算する。その後、結果をスタックに積む。この単純な繰り返しだけで、逆ポーランド記法の計算ができる

逆ポーランド記法とスタックの相性は抜群で、情報工学をやっているとこの例を目にすることも多い。ここまで分かりやすい手続き(アルゴリズム)に落とし込めるので、プログラムを書くのも(細かいことを気にしなければ)簡単にできてしまう。

何よりこういう動作原理を知っていくにつれ、どんどん逆ポーランド電卓が愛おしくなっていくのだ。その土地の歴史を知ればしるほど、さらなる興味と愛着がわいてくるようなものである。

そんなわけで、ここまで理解できれば逆ポーランド電卓を自作するのはそんなに難しくない。作っていこう、逆ポーランド電卓。

いったん広告です

部品を集めて組み上げる

やっぱりキーホルダー型のかわいい感じの電卓が欲しいよねー、という脳内会議の結果、往年のテトリン(テトリスができるキーホルダー型ゲーム機)みたいなイメージを目指して制作開始。

011.jpg
ボタンと表示器部分はこんな感じがいいかな。カラフルなボタンでかわいさを演出
012.jpg
基板を2層にして、下層にはマイコンや電源を置く

主要部品は、電卓の頭脳となるマイコン(Arduino互換のProMicroと呼ばれるもの)と、あとはボタンと表示器(0.91インチOLED)というシンプルな構成。

013.jpg
表はシンプルだけど、裏はこんな感じで「水面下のアヒルの水かき」状態になってしまった

一度ミスをしてやり直したせいで、配線作業だけで5時間くらいかかってしまった。でもこういう細かい作業は嫌いではない。この配線一本一本に電流が流れ、それがちゃんと理論どおりに動いてくれる。こんな奇跡みたいなことが普通に起こっているなんて、すごすぎるだろ……! と思いながらいつも電気と戯れている。

014.jpg
フロント部分のパネルは、レーザーカッターで透明アクリルを切り出して作成
015.jpg
一家に一台、レーザーカッター。実は去年自宅に設置したのだ。いいでしょう
016.jpg
あとはスペーサーを3Dプリンタで印刷する。家の機材総動員
017.jpg
基板とフロントパネル、スペーサーをこのように挟み込んで完成である

ソフトウェアについては前述の通り、スタックの操作をすればいいだけで、あまり難しいものではない。HPの電卓にならって、スタックを4段使った4 Level RPNという方式で実装した。

018.jpg
ででーん。そんなわけで完成。結構かわいくイメージ通りにできた。これぞ欲しかった逆ポーランド電卓だ!
019.jpg
キー配置はこの通り。ほとんどは一般的な電卓と同じで、違うのは“=”の代わりに“Enter”があるところ
020.jpg
こういうおもちゃ的な逆ポーランド電卓がいっぱい製品化されている世界線に暮らしたかった

紹介動画を作ったので、動いているところはこちらをどうぞ。

おわりに

逆ポーランド電卓は、ただの電卓ではない。実用性だけでなく、逆ポーランド記法の特性や、特有の計算方法、スタックによる実装などなど、内部動作を理解していくことでどんどん味わい深くなっていく、スルメのような電卓である。

新製品も長らく出ていないため今後どうなるか分からないけれど、いまなら比較的簡単に自作することだってできる。いろんな形態の自作逆ポーランド電卓が出てくれば、楽しい世の中になるなあと思ったり。

初めての方は、先にも書いたとおりスマホアプリが気軽に使えるので、まずはそっちを試してみるのがオススメである。

021.jpg
作った電卓はカバンにつけて持ち歩こう

参考文献:
・徳田雄洋 文, 村井宗二 絵『カッコのない国』岩波書店, 1990年
・Hewlett-Packard『HP-16C Computer Scientist Owner’s Handbook』1984年


昔つくった逆ポーランド電卓

いまから16年ほど前、大学のマイコン実習の自由課題でも逆ポーランド電卓を作ったのを思い出した(その頃から好きだったのだ)。

022.jpg
写真が残っていた

当時はArduinoなんてなかったので、PICというマイコンを使って実装。表示も7セグメントLEDで、いま見るとかなり古めかしい。

あれから16年。扱いやすいマイコンや周辺デバイスもたくさん登場し、個人で3Dプリンタやレーザーカッターまで使えるようになった。ここまで歩みを進めてきた人類すげえなあ、と改めて思うのであった。

▽デイリーポータルZトップへ

katteyokatta_20250314.jpg

> デイリーポータルZのTwitterをフォローすると、あなたのタイムラインに「役には立たないけどなんかいい情報」がとどきます!

→→→  ←←←

 

デイリーポータルZは、Amazonアソシエイト・プログラムに参加しています。

デイリーポータルZを

 

バックナンバー

バックナンバー

▲デイリーポータルZトップへ バックナンバーいちらんへ

この記事を送る

新着記事

  • 自分の名字と同じ地名のお祭りに・「白いたい焼き」はまだ食べられるのか~月刊デイリーポータルZ新人賞 2025年3月号

    自分の名字と同じ地名のお祭りに・「白いたい焼き」はまだ食べられるのか~月刊デイリーポータルZ新人賞 2025年3月号 (デイリーポータルZ) (03.27 16:00)

  • 「大好きな友に『面白い友達』と思ってほしくて、デイリーポータルに記事を書く」佐伯さん

    「大好きな友に『面白い友達』と思ってほしくて、デイリーポータルに記事を書く」佐伯さん (デイリーポータルZ) (03.27 13:00)

  • 地図の読み方入門~地図アプリを見ているのに道に迷ってしまう方へ~

    地図の読み方入門~地図アプリを見ているのに道に迷ってしまう方へ~ (佐伯) (03.27 11:00)

  • 琵琶湖にある有人島・沖島に伊勢大神楽が来る日

    琵琶湖にある有人島・沖島に伊勢大神楽が来る日 (スズキナオ) (03.27 11:00)

  • ムーミンダニ(2025.3.27 朝エッセイ/安藤昌教)

    ムーミンダニ(2025.3.27 朝エッセイ/安藤昌教) (安藤昌教) (03.27 10:59)

  • 「ビリヤニって何ですか?」と詳しい3人に聞いてみた(傑作選)

    「ビリヤニって何ですか?」と詳しい3人に聞いてみた(傑作選) (玉置標本) (03.26 20:00)

  • 飲み会×後輩×爆笑 爲房さんが好きな與座さんの記事(與座ひかる×爲房新太朗 第3回)

    飲み会×後輩×爆笑 爲房さんが好きな與座さんの記事(與座ひかる×爲房新太朗 第3回) (デイリーポータルZ) (03.26 18:00)

  • お金をなくした話、募集します

    お金をなくした話、募集します (石川大樹) (03.26 16:00)

  • タクシー入門

    タクシー入門 (爲房新太朗) (03.26 11:00)

  • 名古屋に行ったら地下街でエビフライサンドを食べよう

    名古屋に行ったら地下街でエビフライサンドを食べよう (安藤昌教) (03.26 11:00)

  • やさしいニュース(2025.3.26 朝エッセイ/與座ひかる)

    やさしいニュース(2025.3.26 朝エッセイ/與座ひかる) (與座ひかる) (03.26 10:59)

  • 観光地としてのニュー新橋ビル2019(傑作選)

    観光地としてのニュー新橋ビル2019(傑作選) (いまいずみひとし) (03.25 18:00)

  • 美容院入門:「伸びた分だけ切ってください」しか言えないので美容師に聞く

    美容院入門:「伸びた分だけ切ってください」しか言えないので美容師に聞く (三土たつお) (03.25 16:00)

  • 合意の下メンツを潰しあうとどうなるか

    合意の下メンツを潰しあうとどうなるか (與座ひかる) (03.25 11:00)

  • 宮崎にはチキン南蛮カレーがある

    宮崎にはチキン南蛮カレーがある (窪田鳳花) (03.25 11:00)

  • 「芝居」の人(2025.3.25 朝エッセイ/べつやくれい)

    「芝居」の人(2025.3.25 朝エッセイ/べつやくれい) (べつやく れい) (03.25 10:59)

  • 防犯カラーボールを作った人に「どうやって犯人に当てるか」を聞く(傑作選) (井上マサキ) (03.24 18:00)

  • 独自のランドマーク / うっかりデイリー 2025年3月22日号

    独自のランドマーク / うっかりデイリー 2025年3月22日号 (デイリーポータルZ) (03.24 17:00)

  • 枠だけのSwitchを作るとすべてがゲームになる

    枠だけのSwitchを作るとすべてがゲームになる (林雄司) (03.24 16:00)

  • 部屋がカッコ悪いと嘆くくらいなら、電源タップを変えればいい

    部屋がカッコ悪いと嘆くくらいなら、電源タップを変えればいい (安藤昌教) (03.24 15:00)

  • 初めて電話とウーバーで出前を取ったら、街中に引っ越したくなった

    初めて電話とウーバーで出前を取ったら、街中に引っ越したくなった (鈴木さくら) (03.24 11:00)

  • 歩き方入門

    歩き方入門 (べつやく れい) (03.24 11:00)

  • “単行本”という概念(2025.3.24 朝エッセイ/石井公二)

    “単行本”という概念(2025.3.24 朝エッセイ/石井公二) (石井公二) (03.24 10:59)

  • 2025.3.23)カシューアップル、岐阜、モンゴルのかわいい動物~先週よく読まれた記事

    2025.3.23)カシューアップル、岐阜、モンゴルのかわいい動物~先週よく読まれた記事 (林雄司) (03.23 11:00)

  • 弁当を3年間作ってわかったこと(傑作選)

    弁当を3年間作ってわかったこと(傑作選) (安藤昌教) (03.22 16:00)

  • 立体2つと文字1つで店になる

    立体2つと文字1つで店になる (トルー) (03.22 11:00)

  • 消えた?現在都内で「白いたい焼き」はまだ食べられるのか

    消えた?現在都内で「白いたい焼き」はまだ食べられるのか (蜂木) (03.22 11:00)

  • 究極のサラメシ「エクセル飯」

    究極のサラメシ「エクセル飯」 (ヨシダプロ) (03.22 11:00)

  • 焼きそば味の焼きそば(2025.3.22 朝エッセイ/林)

    焼きそば味の焼きそば(2025.3.22 朝エッセイ/林) (林雄司) (03.22 10:59)

  • マヨネーズに見えるペットボトルカバー作ってみた(傑作選)

    マヨネーズに見えるペットボトルカバー作ってみた(傑作選) (乙幡啓子) (03.21 20:00)

バックナンバー

広告企画

  • thumb.jpg

    ほぼ百字で完結する小説がある ~ 小説家・北野勇作さんインタビュー (02/28 11:00)

  • thumb.jpg

    3月20日 リアルちょっとしたパーティーを開催します (02/27 12:00)

  • xpark_thumbnail.jpg

    1500km離れた人と「遠隔カラオケ大会」をすると一体感がすごい (02/06 11:00)

  • 100.jpg

    公衆トイレの待ち行列に並び、順番の抜かしあいでバトルする新感覚ゲーム (01/23 11:00)

  • thumb2.jpg

    京橋にあるスマートロック開発拠点を見せてもらった (01/15 11:00)

広告企画のごあんない

Amazon検索

書評

  • シャーロックホームズを書いたコナンドイルが亡くなったあと、その息子の作った財団がはじ…

傑作選

  • 2022~2023年傑作選 (12.19 22:40)

  • インスタントな温かさが染みる! ~カップ麺まとめ (11.25 16:00)

  • 朝ごはんで一日の活力を!~朝ごはんの記事まとめ (11.11 16:00)

  • オイリー、オンリー! 油でアゲアゲ!~揚げ物・フライまとめ (10.28 16:00)

人気まとめ

投稿コーナー

  • シーシャで停学、ウチのAIぜんぜん融通が効かないのよ~今、こんなことになってるんだ3

    シーシャで停学、ウチのAIぜんぜん融通が効かないのよ~今、こんなことになってるんだ3 (03.19 11:00)

  • 鬼ごっこは「おにご」、ご祝儀はPayPay~今、こんなことになってるんだ2 (03.12 16:00)

  • 募集「今、こんなことになってるんだ」 (03.05 16:00)

  • 栗むし羊羹も後藤久美子もココアも~ぜんぜん違うね第2回 (03.18 16:00)

企画いちらん

関連書籍

  • 書影

    デイリーポータルZ傑作選 Jokes take us far ¥1,320

    詳細

  • 書影

    ビジネスマン超入門365¥1,650

    詳細

  • 書影

    雑に作る¥2,640

    詳細

懐かしの記事