実数値 HEX(16進数)変換ツール
FloatBin Ver.0.01.00a (フリーウェア)
実行に必要な物:
Microsoft Visual C++ 6.0 SP3 のランタイムを
別途に入手して、インストールして下さい。
作成日:2003.09.16
作成者:miz (ミヅ)
開発 :Microsoft Visual C++ 6.0 SP3
メール:mizotaml@di.pdx.ne.jp
サイト:http://popup.tok2.com/home2/miz/
目的 :ビット表現の異なる実数型の相互変換クラス(x86Float)の
テストプログラム。
HEX電卓で、整数値を扱える物は、色々と有りますが、
浮動小数点を扱える物は、一般には有りません。
そこで、x86Floatクラスのサンプルプログラムとして、
浮動小数をHEXコンバータを作成しました。
実数値(小数点付きの数値)、非intel x86系の16進数、
intel x86系の16進数、で相互にデータ変換できます。
本来の目的は、汎用計算機(非intel x86系CPU)と
パソコン(intel x86系CPU)とのバイナリデータの
コンバートを行う一環で作成した、x86Floatクラスを
公開配布する為に、作成したサンプルプログラムです。
備考 :数十分で急遽に用意したサンプルなので、
雑なコーディング(ソースプログラム)をしています。
次期バージョンアップの際には、綺麗なコーディングに
直そうとは思っています。
使い方:
�@.FloatBin.exe をクリックして、起動します。
�A.「入力タイプ」を選びます。
※「変換前 入力値」に入力する値の形式を指定します。
�B.「16進数 入力ビット長」を選びます。
※16進数入力の時に、有効です。
�C.「intel 16進数 バイト配置 形式」を選びます。
※「変換前 入力値」の入力方法と、
「16進 浮動小数 intel x86 FPU 形式」の表示方法が変わります。
「メモリ格納形式」を選択している時、リトルインディアン形式のバイト配置です。
(例)
・「レジスタ格納形式」・・・ 3FF8 0000 0000 0000 (ワード反転無し)
・「メモリ格納形式」 ・・・ 0000 0000 0000 3FF8 (ワード反転)
�D.「変換前 入力値」に、変換したい値を入力します。
(例)
・10進数形式 ・・・ 1.5
・16進数形式 ・・・ 3FF8 0000 0000 0000 または、3FF8000000000000 でも可
※32Bitsを選択時は、3FF8 0000 または、3FF8000 です。
★「メモリ格納形式」を選択時は、ワード単位(16ビット毎)に、反転して入力して下さい。
�E.【変換】ボタンを押します。
�F.変換結果に、各形式の変換結果が表示されます。
補足 :はっきり言って、入力値チェックはズサンです。
入力タイプに指定している型と同一の、変換結果の型を見比べて、
同じ値なら、正常に変換しているはずです。
違っていれば、入力値を見直して下さい。
もし、それでも変換結果が誤っていれば、バグの可能性が有りますので、
作者(miz)までメールを御願い致します。
また、本ソフトでサポートしていない浮動小数タイプのデータを
お使いの方がいましたら、取り扱いたい浮動小数タイプの仕様を
メールしていただければ、作者(miz)の方でサポートできるかもしれません。
intel x86 FPU(浮動小数処理装置)形式および、
非intel系FPU(浮動小数処理装置)形式のデータ使用は、
特に記載しません。各自、WEB等で検索して調べられる事と思いますので。
ですが、どうしても教えてほしいってニーズが有れば、
資料を用意するかもしれません。
本ソフト及び、ソースプログラムはフリーウェアです。
御自由に改造・転用・リバースエンジニアリングをして頂いてかまいませんが、
その前に、別途添付の「ライセンス規約(license.htm)」をご覧下さい。
添付物:
�@.プロジェクトファイル一式(本ソフトのソースとコンパイル環境)
�A.ビット表現の異なる実数型の相互変換クラス(x86Float)のソース
x86Float.h と x86Float.cpp です。
VC6フォルダの中に有ります。
�B.EBCDIC コードと ASCII コードの文字列変換サブルーチン
※本ソフトでは、使っていません。御自由に使ってください。
VC6フォルダの中に有ります。
�C.本ソフトの実行プログラム(FloatBin.exe)
リリースモードビルドしています。
MFCのDLLが別途に必要な方法でビルドしています。
以 上