その前に、まず16進数を10進数に変換する場合にはどういう計算をするでしょうか?
例えば、16進数で251という数字があるとします。
10進数に変換するには、
2×16^2 + 5×16^1 + 1×16^0
という計算をすれば10進数に変換出来ますよね。
(^は乗数の意味です。例えば16^2で16の2乗となります)
では、10進数を16進数にするにはどうしたらいいでしょうか?
答えは逆の計算をします。つまり、割り算します。
例えば、10進数で85という数字があった場合。
パッと見で16^2(=256)では割れないので、16^1で割ります。
85/16 = 5あまり5
というわけで、85を16進数で表すと55になります。
ちなみにここからは余談ですが、16進数と2進数の変換はかなり楽です。
16進数の一桁=2進数の4桁でそのまま表すことが出来ます。
どういうことかというと、例えば16進数でB7Cという数字があった場合、2進数で表すと、
1011 0111 1100
となります。
4桁毎に16進数の数字に対応してるのに注目してみて下さい。
2進数から10進数に変換する際は、これを利用して一旦16進数に直してから10進数に変換すると計算が楽になります。
長文失礼いたしました。
参考になれば幸いです。
お礼
そう解けばいいのですね!わかりやすい説明ありがとうございます。