未来情報産業株式会社 逆ポーランド記法電卓 ‐ WHP32


LOCATION:

概要

WHP32は、とても使いやすい「逆ポーランド記法電卓」です。

このソフトウェアのオリジナル作者に敬意を表し、このソフトウェアも当分の間はフリーソフトとして提供します。

動作環境

Windows 7以降で動作する、32ビット版と64ビット版をご用意しております。

CPUがx86ではないWindows RTや、Windows Mobileなどでは動作しません。

32ビット版のみ、Windows XPおよびWindows Vistaでも動作しますが、サポート切れのOSですので、ご利用は動作保証外となります。

開発の経緯

かつて、NAG様がDelphiで作成し、フリーで公開していたWin16用の逆ポーランド記法電卓「WHP」がありました

しかし16ビットアプリケーションです。Windows XPの時代が終わり、Windows 7以降へと移行する必要が平成26年に発生しましたが、どうせXPから7に変えるなら64ビットOSにしたいところ。しかし64ビットWindowsでは16ビットアプリが動作しません。

ですが、このWHPが使用できないと生活にかなり困りますので、64ビットOSへの移行に躊躇せざるを得ない状況もあるかもしれません。

そこで、このソフトウェアを32ビットアプリケーションとして作り直すことにしました。

このソフトウェアは、Delphiで作成されていたWHPとはプログラムは全く異なります(C++で書かれています)が、可能な限り同じ見た目と操作性を再現しつつ、更に改良を加えたものとなっています。

画面は変更されることがあります。

WHPにはあったフォントや画面の色を変える機能は省いています。エラー時の音のON/OFFは、Optionメニューから設定できます。

色については、要望があれば対応を検討しますが、フォントについては桁数に応じた自動拡縮機能があるため実装が困難です。

計算機能は、元のWHP相当ですが、将来的にはWindows 7標準の電卓にある程度の関数は実装しようかと考えています。

ダウンロード

無保証

このソフトウェアは、無保証のフリーソフトです。

可能な限り不具合がないようつとめますが、万一このソフトウェアにより重大な計算誤りが生じ、損害が発生した場合でも、一切保証は致しません。

ランタイム

(注意)Visual Studio 2013のランタイムが必要です

現在公開中の最新版では、まだVisual Studio 2013でビルドされていますので、Visual Studio 2013のランタイムをご用意下さい。近く2015などに更新見込みですが、その時には別途アナウンス致します。


「コンピューターに MSVCP120.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。」と表示され実行できない場合は、ランタイムライブラリーがインストールされていません。

Visual Studio 2013 の Visual C++ 再頒布可能パッケージから、使用するものに応じて、以下をダウンロードしてインストールしてください。

  • 32ビット版 vcredist_x86.exe
  • 64ビット版 vcredist_x64.exe

これをインストールしますと、他のVisual Studioにより作成されたプログラムも実行できるようになります。

最新バージョン ダウンロード

バージョン0.17 (beta) (H28/08/25)

開発中のβバージョンです。

既知の不具合

不具合があればお知らせ下さい。

  • 「X<>Y」ボタン不正動作: REAL/DECでは問題ありませんが、HEX/OCT/BINではうまく動いていません。

近く修正の予定ですが、本業の合間に行ないますので予定は未定となっております。

不便なので修正を急いで欲しい等のご要望等はメールやTwitter等で受け付けております。無保証のアプリですが、多少は修正が早くなるかも知れません。

前バージョンとの差

バージョン0.16 → 0.17

  • 64ビット版で、+/-ボタンが正常動作していなかった不具合を修正
  • 64ビット版で、マイナスの値をBASE変更したさいの挙動を変更
    REAL←→DEC間は、(小数点以下を除き)完全に値が保持されるようにした。
    負の数を持たせてHEX/OCT/BINに変更してからDECにして+/-ボタンを押した時におかしな値になることがあるのは仕様です(内部的には無符号の値となっているため)。
  • 四則演算その他のあとに、小数点(.)を入力すると、確定結果がPUSHされないまま消滅してしまう不具合を修正。
  • コピー&ペーストで、先頭や途中にスペースがあった場合に無視するようにした。
  • コピー&ペーストで、U+2212 もマイナスとして扱うようにした。

バージョン0.15 → 0.16

  • 整数演算(DEC/HEX/OCT/BIN)は、全て符号ありに変更した。BASE=DECでは負数の表示に対応させ、また+/-ボタンを有効にした(WHPの動作にあわせた)。
  • 内部では最大128ビット整数として扱われるが、0-1 の回答が FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF では何かと困るため、B/W/DW/QW の長さ選択機能を追加した。
  • 上に伴い、入力制限機構を長さから実際に格納可能な値に変更。ただし0を連続入力されたことを想定し、HEX/OCT/BINおのおのの理論上の長さでも制限を掛けた。
  • 本家WHPではBASE=HEX/OCT/BINでも+/-ボタンが有効だが、動作がバグっぽいので、当面は動作を合わせることなく無効にしておく。
  • 整数演算で、除算は符号ありに変更した(WHPの動作にあわせた)
  • 計算が確定した後、LNなどの関数を実行し、LastXするとX欄に空白が挿入されてしま うバグを修正。

少し古いバージョン ダウンロード

最新バージョンに何らかの不具合がある場合は、修正されるまで、こちらをご利用下さい。


バージョン0.16 (beta) (H26/11/10)

バージョン0.15 (beta) (H26/08/03)

インストール

7zを任意の場所で展開し、含まれている実行ファイルを任意の場所に置いてご利用下さい。

今のところ、インストーラーはありません(強い要望があれば検討します)。

32ビット環境なら「C:\Program Files」の中、64ビット環境なら「C:\Program Files (x86)」の中におけば良いかと思います。

このソフトウェアはレジストリーは使いません。

設定は、Windows XPの場合は「C:\Documents and Settings\(ユーザー名)\Application Data\MiraiCorp\WHP\WHP.INI」、Windows 7でも似たような場所に、INIファイルで記録されます。

なぜレジストリーではなく.INIなどというレガシーな仕様かというと、本家WHPの仕様に合わせているためです。

アンインストール

実行ファイルを削除してください。

不要であれば、Application Data以下のINIファイルも削除してください。

以上でアンインストールできます。

初期化

画面位置を戻したい、記録したメモリーを消したい、などの場合は、初期化が可能です。

  1. ソフトウェア起動後、タスク バー ボタンにあるアプリのアイコンを、シフトキーを押しながら右クリックします。
  2. 一番上に、初期化(I) とあるので、これを選択します。すると画面の左上にウィンドウが復活し、メモリーも初期化されています。

不具合の報告

現在は開発中のバージョンです。不具合、未実装機能など、様々存在します。

不具合を発見されましたら、お気軽にTwitterやメールでお知らせ下さい。

可能な限り修正をするよう努力します。

取扱説明書

画面

イメージマップになっています。

調べたい場所を調べることができます。

OPTION EDIT HELP STACK BASE ANGLE DISPLAY MEM X SIN COS TAN LOG LN X^2 SQRT ASIN ACOS ATAN PI e^X X^X 1/X X! +/- → ↓ ↑ × ÷ + - CLX LastX EEX ENTER X<>Y MEM

DEC/HEX/OCT/BINで表示されるボタンは、論理演算関数を参照してください。

簡単な使い方

逆ポーランド記法電卓です。画面に10キーのボタンはありますが、キーボードから入力しても使用できます。

例えば、「1+2」は、次のように入力します。

  1. 1
  2. Enter
  3. 2
  4. +

4段数字が表示されるうちの、一番下の欄(X欄)に答えが出ます。

また、「(3×4)+(6÷2)」は、何通りかありますが、例えば次のように入力します。

  1. 3
  2. Enter
  3. 4
  4. ×
  5. 6
  6. Enter
  7. 2
  8. ÷
  9. +

4段数字が表示されるうちの、一番下の欄(X欄)に答えが出ます。

メニュー → Option

  • Error Alarm ‐ ONすると、エラー時にアラーム音が鳴ります。Alt+M
  • Language ‐ メニューの言語を選べます(英語、日本語、台湾正体字)
  • Exit ‐ このアプリケーションを終了します。Alt+X

メニュー → Edit

  • Copy ‐ X欄の内容をクリップボードにコピーします。Alt+C または Ctrl+C
  • Paste ‐ クリップボードの内容をX欄にペーストします。Alt+P または Ctrl+V

オリジナルWHPにはなかった新機能が追加されています。

Pasteは、カンマ(,)は無視できます。

先頭より、指定したBASEで有効な数字までの範囲の文字列を採用します。16進数の場合、大文字・小文字は同一視します。

Pasteは、常に上書きとなります。入力中の値はスタック等には入りません。

現時点ではロケールは考慮していないため、小数点は常にピリオド(.)、区切りはカンマ(,)に固定しています。

メニュー → Function

  • L.C.M. ‐ XとY間で最小公倍数を求めます。Ctrl+L
  • G.C.D. ‐ XとY間で最大公約数を求めます。Ctrl+G

メニュー → Help

  • Official Web Site... ‐ 公式サイトを表示します。Alt+W
  • About this software... ‐ ソフトのバージョンを表示します。Alt+A

スタック

4段の表示欄があり、下から上に向かうスタックとなっています。

つまり、最新の入力のほか、過去3つまでが保存されることになります。

キー入力した数字は、一番下のX欄に入ります。

ここでEnterすると、その値はスタックに積まれ、Yとなります。また、過去のYはZに、過去のZはTとなり、過去のTは消滅します。

BASE

この電卓は、大きく2種類、細かくは5種類の動作モードがあります。

  • REAL ‐ 実数計算
  • DEC ‐ 10進数 整数計算 (64ビット)
  • HEX ‐ 16進数 整数計算 (64ビット)
  • OCT ‐ 8進数 整数計算 (64ビット)
  • BIN ‐ 2進数 整数計算 (64ビット)

随時変更可能で、10進数と16進数の変換もワンタッチで可能です。

整数計算は、QW(64ビット)、DW(32ビット)、W(16ビット)、B(8ビット)で切り替えられます。全て符号ありの演算となります。また現時点ではオーバーフローチェックをしていません。

例えば10進数整数で演算結果がオーバーフローした場合、突如マイナスになったります。(例: Bで、100×2→ -56 )。これが困る場合、QWなど大きめのものを使うようにしてください。

(将来的にオーバーフローのチェック処理を入れる予定です)

ANGLE

REALモードでは、各種の三角関数が使用できます。その際の角度について、以下の3種類から選べます。

  • DEG ‐ 度数法 (1周を360度で示す角度の表現方法)
  • RAD ‐ 弧度法 (角度をラジアンで表現する方法)
  • GRAD ‐ グラード法 (1周を400度で示す角度の表現方法)

DISPLAY

REALモードでは、数値の表示方法を、以下の3種類から選べます。

  • FIX ‐ 常に指数を使用しない表示とします。
  • SCI ‐ 常に指数を使用した表示とします。
  • ENG ‐ 指数を3の倍数ごとに調整します。

また、各モードごとに、小数点以下の桁数を選べます。

MEM

現在の値を保存するメモリー機能に対応しています。

メモリーは、0番から9番までで、10個存在します。

メモリーは、REALモード(実数計算)と、DEC/HEX/OCT/BINモード(整数計算)とで、別に用意されています。ご注意下さい。(都合、総計で20個存在することになります)

各種数学関数

REALモードでは、数学関数が使用できます。原則としてスタックからX欄を取り出し(popし)て関数を実行し、結果をスタックに積みます(X欄に入ります)。

  • SIN ‐ 正弦関数
  • COS ‐ 余弦関数
  • TAN ‐ 正接関数
  • ASIN ‐ 逆正弦(arcsin)関数
  • ACOS ‐ 逆余弦(arccos)関数
  • ATAN ‐ 逆正接(arctan)関数
  • LOG ‐ 常用対数 (底=10)
  • LN ‐ 自然対数 (底=e)

その他、次のような演算が可能です。

  • PI ‐ πをスタックに積みます
  • e^X ‐ 自然対数の底のX乗を求めます (自然対数LNの逆関数)
  • X^2 ‐ Xの自乗を求めます (2乗関数)
  • Y^X ‐ YのX乗を求めます。Yはスタックから取り出します(popします)
  • SQRT ‐ Xの平方根を求めます
  • 1/X ‐ Xの逆数を求めます
  • X! ‐ Xの階乗を求めます

四則演算

  • PI ‐ 加算 (足し算)
  • PI ‐ 減算 (引き算)
  • PI ‐ 乗算 (掛け算)
  • PI ‐ 除算 (割り算)

論理演算関数

REALモード以外では、論理演算が利用できます。

原則としてスタックからXとYを取り出し(popし)て関数を実行し、結果をスタックに積みます(X欄に入ります)。

  • AND ‐ 論理積
  • OR ‐ 論理和
  • XOR ‐ 排他的論理和
  • XNOR ‐ 排他的否定論理和
  • SHL ‐ YをXビットぶん左シフトします
  • SHR ‐ YをXビットぶん右シフトします
  • NOT ‐ 論理否定(1の補数)を求めます (1項演算)
  • NEG ‐ 2の補数を求めます (1項演算)

各種の操作

  • X ‐ X欄の左にあるXボタンを押すと、X欄の内容をクリップボードにコピーします
  • +/- ‐ 入力中のX欄の値をプラスにしたりマイナスにしたりします
  • → ‐ 入力中の値を1桁削ります
  • ↓ ‐ スタックを下方向に回転させます
  • ↑ ‐ スタックを上方向に回転させます
  • X<>Y ‐ スタックのX欄とY欄を交換します
  • CLX ‐ 入力中のX欄を消します。計算エラー発生時のエラー解消もこのボタンで実施します。
  • LastX ‐ 計算などで得られた直前のXをスタックに積みます
  • EEX ‐ 指数を入力するため、指数欄に移動します
  • ENTER ‐ 入力中の値をスタックに積みます

メモリーの操作

メモリーは0から9まで10箇所あります。あらかじめ選んでおいてください。

  • RCL ‐ メモリーから取り出し、スタックに積みます。
  • STO ‐ X欄の値をメモリーに保存します。
  • ST- ‐ メモリーに対し、X欄の値を減算します。
  • ST+ ‐ メモリーに対し、X欄の値を加算します。

原作者のNAG様を探しています。

公開前にメールを送信しましたが、返答がありませんでした。

元近所住民の方から引っ越し前の情報提供をいただきましたが、引っ越し先が不明とのことです。

弊社としては、可能な限り原作に忠実なソフトウェアを実現すべく長い時間をかけて開発を続けてきました。今後も、原作を毀損しないよう尽力する方針ですが、原作者のご意向も一度伺いたいと考えております。

消息をご存じの方は、どうかメールかTwitterでお知らせ下さい。

資料請求・問い合わせ

このソフトウェアは、無保証のフリーソフトです。

簡単な問い合わせはTwitterへお願いします。

難しいお問い合わせは電子メールで、info@mirai-ii.co.jpまでよろしくお願いします。

戻る
Copyright © Mirai Corporation 2013-2016 All rights reserved.