• ベストアンサー

16進数から10進数への変換

16進数の77が16×14+7だということはわかるのですが、少し複雑になるとわからなくなります。 例えば以下のような場合です。 「16進数で5D2Cは 16の三乗×5+16の二乗×13+16×2+12 とあらわされます。」 なぜ、16の三乗や、16の二乗をする必要があるのでしょうか? 5桁になるとおそらく16の4乗をする必要がありそうですが、 宜しくお願いします。

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

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

5桁で16の4乗、というのは正しいです。 この説明は下でされているので省きます。 16進数は数が大きいので、扱いが面倒、と思われるかもしれないので、 簡単な2進数への変換法を書いておきます。 16進数で5D2Cの場合  1、各桁を2進数に変換する  ⇒5D2C = 0101 | 1101 | 0010 | 1100  2、変換したものをそのまま結合する  ⇒ 0101 | 1101 | 0010 | 1100 ⇒  0101110100101100  これで、2進数になります。 2のN乗の方が計算が楽だと思いますので、10進数にする場合は 使ってみてはいかがでしょうか? (8進数の場合も同様にできます)

shevy
質問者

お礼

回答ありがとうございます。 16進数から2進数への変換というのは、 非常に簡単なんですね! >2のN乗の方が計算が楽だと思いますので、10進数にする場合は 使ってみてはいかがでしょうか? と、回答してくださいましたが、 すみません、今ひとつピンとこないのです。。 つまり、16進数から10進数に直すときは、 一度2進数にしてから10進数にするほうが計算が楽という意味でしょうか。 コンピュータの勉強中にぶつかった壁ですが、 さらに知識を深めたいと思っております。

その他の回答 (4)

回答No.5

4の回答に対する回答です。 >つまり、16進数から10進数に直すときは、 一度2進数にしてから10進数にするほうが計算が楽という意味でしょうか。 はい、その通りです。 16の3乗を、256*16 として計算するよりも 2の12乗を、2048*2 として計算したほうが簡単ですよね。 (ちなみに、2の10乗が1024です。よって、2048=2の11乗) 16進数を2進数に変換すると、2を掛けるという暗算でできる作業を 繰り返すだけで各桁の10進数での値が簡単に出せます。 16進数だと筆算しないとわからないので、これはかなりのメリットになりますよ。

shevy
質問者

お礼

ありがとうございました。 非常に勉強になりました。 2進数からの10進数使わせていただきます。 ありがとうございました。

  • k2_kazu
  • ベストアンサー率50% (9/18)
回答No.3

  16進数の基本的な考え方は他の方の説明どおりです。 16の乗数の計算が嫌ならば、5D2Cを次のように括弧内を 先に計算してはどうですか? ( ( 16*5 + 13 )*16 + 2 )*16 + 12  

shevy
質問者

お礼

回答ありがとうございます。 おかげさまで乗数をする意味がわかりました。 ありがとうございました。

  • meikai
  • ベストアンサー率25% (23/92)
回答No.2

10進数の場合を考えてください。 2345 という数は、桁ごとに考えると 2000+300+40+5 です。 これを16進数を考える時のように「何何の何乗×いくつ」式に書き出すと 2000=10の3乗×2 300=10の2乗×3 40=10×4 5 となりますね。 ○進数で、4桁(10進数なら、千の位)ということは、○が3乗された数がそこにあるわけです。 10進数の一の位が「1」の時は1。十の位が「1」の時は10です。 2桁目に「1」が入った時に、やっと10進数なら10、16進数なら16になれるのです。 桁の位置によって、そこに入る数字の重さが違ってきます。 (百の位の「1」(=100)と、千の位の「1」(=1000)では違う) その違いが、2乗したり3乗したりする必要性です。 16進数について考えているということは、2進数も知っているかと思います。 一度、2進数でも考えてみてはいかがでしょうか? 結論: ○進数の時、右から×桁目に「1」=○の(×-1)乗

shevy
質問者

お礼

回答ありがとうございます。 非常に参考になりました。 乗数の意味もおかげさまで理解することができました。 なかなか分かると面白くなってきました。 ありがとうございました!

  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.1

>16進数の77が16×14+7だということはわかるのですが、 違いますよ~。 7×16+7…つまり、7×16の1乗+7×16の0乗です。 >なぜ、16の三乗や、16の二乗をする必要があるのでしょうか? 例えば、1234という10進数があったとします。 これは 1…1000の位 2…100の位 3…10の位 4…1の位 と呼びますよね。 ではどうしてそういう風に呼ぶのでしょう? どうして10ずつ増えているのでしょう? 答えは「10進数だから」ですね。 これは、言い換えると 1…10の3乗の位 2…10の2乗の位 3…10の1乗の位 4…10の0乗の位 と言う事が出来ます。 これを16進数に当てはめると… 5D2Cの場合は 5…16の3乗の位 D…16の2乗の位 2…16の1乗の位 C…16の0乗の位 と、呼ぶ事ができますね。 だから、計算する時に16の2乗や3乗が必要になるんです。 >5桁になるとおそらく16の4乗をする必要がありそうですが、 その通り!

shevy
質問者

お礼

ありがとうございました。 そうでした、最初の表記は私の間違いでした。 スミマセン。 おかげさまで、非常に参考になりました。 乗数の考え方がわかったので、 ホッとしております。 ありがとうございました。

関連するQ&A

専門家に質問してみよう