• ベストアンサー

【VB6.】10進数を16進数に変換(符号つき)

お世話になります。 どうしてもわからないので教えてください。 やりたいことは以下です。 ●DecをHexの符号ありに(1byte)変換 ●結果としてDec「-02」を変換してHex「FE」が欲しい。 -128~127(変換後は80~7F)まで200通り以上あるので自動変換したいです。 使用しているインターネットのサイトだとできますが、VB6のプログラムで書くとうまくいきません。 ネットに繋がらない環境で変換しなくてはいけなくなったので、どなたか助けてください! お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

・入力される数値は、-128~127の範囲とする。(範囲外の入力は考えない) ・入力された数値が負の場合は、変換元=256-入力値 ・入力された数値が正の場合は、変換元=入力値 ・もし必ず2桁必要なら、変換元に256を加える。 ・変換元をHex関数で16進変換する。(変換先に入れる) ・もし2桁が必要なら、変換先の右から2桁をとる。(Right関数)

ichyojp
質問者

お礼

ありがとうございました!おかげさまでできました。 変換元に256というのが思い付きませんでした。16進数以外にも多数のデータをいろんな変換をする必要があったのでVBでやりたかった次第です。

その他の回答 (2)

回答No.3

一方、おいらはWindows標準の電卓をつかった。 #プログラム組むほどの事じゃなかろうよ

  • tsunji
  • ベストアンサー率20% (196/958)
回答No.1

Hex関数で変換して、Right関数で2文字取り出せばいい。 ゼロサプライが必要なら、変換した文字の頭に"0"をつければいい。

関連するQ&A