ランキングに参加中。クリックして応援お願いします!
コメント利用規約に同意する
フォロー中フォローするフォローする
作品サイト。(WiX ver,)
当ブログ上で引用されているX(旧Twitter)のポストの権利については、すべて、X(旧Twitter)のサービス利用規約に沿うかたちで、発言者に帰属します。
このブログ上のすべての記事・記述に関して、その内容の正確性・安全性、その他を保証するものではございません。また、月日の経過によって、その内容に変化が生じている場合があります。 このブログ、またはリンク先などによって生じたいかなる損害ついても、当ブログ管理者は一切の責任を負いかねますので、ご了承ください。
HPと言えば、昔々、憧れの逆ポーランド演算式電卓ですなぁ。
プログラマーになる直前に「かっこええ!」とは思ったものの、買うにいたらなかったですわ。
さすがは、HPな電卓でしすなぁ。
思えば、半月ぶりのコメントが、つかさんのコメントになりました。
ありがとうございます。
逆ポーランド、と聞いて、何のことか、さっぱりわかりませんでした。
ドンラーポ?
とか、つぶやいてみたり…[E:coldsweats01]
とりあえず、何のことか、わかったですが、
プログラミングとどういう関わりがあるのか、知りたいよーな???
逆ポーランド記法は、プログラムというか、CPUの動きと同じように、スタックに値をつんで、演算を行うというところなのです。なので、昔にアセンブラを書いていた時代のエンジニアには、すっと馴染める、演算方法であったのです。
プログラムも実は、CPUを利用するのに、現在のほぼ全てのCPUのスタックを利用して、プログラムを実行します。レジスターに読み込んで、それが、プログラムのリターンアドレスだったりすると、スタックにそれを積んでおいて、サブルーチンから戻るために、その「積んだ」スタックのアドレスをプログラムのアドレスにデコードして、元に戻るなど、プログラムの動作にも関わるんですよ。
今となっては、演算などは、スタックに積むことなく、決められたレジスターに持っていて、決められた演算用のニーモニックを実行することで、答えも答え用のレジスターに得られるということが多いのですが。
昔々のCPUでは、豊富なレジスターを持っていなかったので(浮動小数点ユニットが標準でない時代の話ですが)その場合に、変数として、スタックに積んで演算させるという方法が、浮動小数点演算での高速化のセオリーだったりしました。今や、そんなこと考えてプログラムすることなんてまったくないんでしょうけど…(^^;)
また、数式演算では、演算子による演算の優先順位と()による優先順位の明記と、実は、数式をCPUに実行させるには、数式文法解析が必要なのです。
それが、逆ポーランド記法には必要ないということです。
なので、プログラマーにはなじみやすかったという経緯があるのです。
長々と失礼(^^;)
途中まで、何のことやら、さっぱりわかりませんが、最後の数行だけで、すべてわかった気がします。
ありがとうございます。