16進数表記となる数値の10進数変換方法をご教授願えないでしょうか。
例)
16進数値20H を 10進数値20に変換。
以下のようなことを行いたいと考えております。
①16進数20Hをバイナリファイル出力。
②バイナリを数値型読み込みで、読み込みに使った変数には32が設定される。
③読み込んだ値を他変数には10進数20で渡したい。
<イメージ>
long hex = 0x20;
long dec = hex; ←このdec値が20になる変換方法が質問内容になります。
説明に数字と数値が、混在しているように思われます・・・0x32はASCIIの'2'ですが?
バイナリには16進表記で20H、つまり10進32の数値が入っているという状態です。
これを、10進20にしたい、という内容になります。
20というのは文字列ですか?
数値です。
<イメージ>を質問内容に追加致しました。
やってやれなくはないですが、意味(数値)が変わるけど良いのですか?
すみません。
お分かりでしたらお教えいただきたく思います。
バイナリは他所が作るもので、その後参照する側は10進扱いにできないと困るところでして・・・。
例えば、バイナリでは西暦を上位、下位で分けているのですが、2020年を16進の20H,20H、つまり32、32で出力されています。
そのデータを読み込んでそのまま年変換しようにも、3232年にしかできず、難航してしまっている有様です。
(0xAFとかの場合はどうするんだろう?)
既に回答をいただいていますが、他所とのインターフェースが関係するのであれば、BCD(Binary Coded Decimal)と言うことなのかどうかを確認した方が良いと思います。

回答2件
あなたの回答
tips
プレビュー