16進数を10進数に変換する方法とは?

このQ&Aのポイント
  • 16進数を10進数に変換する方法について、詳しく教えてください。
  • 参考書では、16進数を10進数に変換する方法が説明されていますが、理解できません。具体的な手順を教えていただけますか?
  • 16進数のAが2^12である理由についても教えていただきたいです。
回答を見る
  • ベストアンサー

16進数を10進数に変換について

16進数を10進数に変換について 今、情報処理の勉強をしていますが、 16進数を10進数への変換にてつまずいています。。。 以下、ご存じの方 お教えください。 16進数:ABCDを10進数に変換する方法が全くわかりません。 参考書をみても 理解ができない方法でした。 参考書の記載は以下でした。 ---------------------------------------------------    重| 16^3   16^2  16^1  16^0    み| 2^12    2^8   2^4   2^0      | 4096   256    16     1  --------------------------------------------------- 16進数|  A      B     C      D   10*4096+11*256+12*16+13  =40690+2560+256+160+32+13  =43520+416  =43981 なぜ、16進数のAが2^12なのでしょうか? 分かりにくくすみません。。。 ご教授頂きたくよろしくお願いいたします。

  • 3dok
  • お礼率90% (38/42)

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

  • ベストアンサー
  • alchet
  • ベストアンサー率33% (3/9)
回答No.1

>なぜ、16進数のAが2^12なのでしょうか? 16^3 = (2^4)^3 = 2^12 = 4096  です。 たとえば10進数の123っていうのは 123=1*10^2+2*10^1+3*10^0 という式で書けます。 16進数を10進数に変換すると、A→10,B→11,C→12,D→13になるので (16進数のABCD) =10*16^3+11*16^2+12*16^1+13*16^0 =10*4096+11*256+12*16+13 =43981 と計算して変換できます。

3dok
質問者

お礼

ご回答頂きありがとうございます。 意味がわかりました。 >(16進数のABCD) >=10*16^3+11*16^2+12*16^1+13*16^0 の部分が自分の知識で抜けていました。。。 スッキリしました。 ホント ありがとうございます。

関連するQ&A

  • MFCでの進数変換

    MFCでの進数変換 始めまして、いまMicrosoftVisualStudio2010でMFCの勉強をしています ここで質問なのですが、ボタンを押されるとエディットボックスにAを表示するんですが このAを10進数の10に変換して表示できないでしょうか? MFCの使える関数でやりたいのですがどなたかご教授お願いします。

  • 10進数の数字列を二進数に変換する

    10進数の数字列"1234"を16進数に変換すると04D2となる と問題集に書かれていたのですがどのように求めているのでしょうか。 ちなみに、問題ではJISの文字コードで一旦変換してから二進数に 変換していましたがいまいち理解できませんでした。 1234ならば 1→0031 2→0032 3→0033 4→0034 と一旦変換して 04D2を求めていました。 よろしくお願いいたします。

  • 10進数から2進数への変換

    初級シスアドを勉強している者です。10進数から2進数に変換する方法で2で割っていく方法は知っているのですが、解くのに時間がかかってしまいます。もっと早く変換できる方法はありませんか?

  • 2進数から10進数へ変換

    C言語で、2進数から10進数に変換するプログラムを作ろうと思っています。 手計算で行う場合は2進数の 下1桁目×1 下2桁目×2 下3桁目×4。。。と計算しています。 下○桁目を取り出す方法を考えているのですが、思いつきません。 3桁の2進数を変換するプログラム(とりあえず101を変換することを考えて・・・)を書いてみたのですが、101を考えすぎたためか上手くいきませんでした。 最終的には10進数でintの範囲内程度の2進数の変換ができるプログラムを書きたいと思っています。 アドバイスをお願いします。 ちなみに、考えてみたプログラムは以下の通りです。 101以外で上手く変換できませんね・・・ ここに貼り付けるのが恥ずかしいです。 #include <stdio.h> main() { int x ,i ,z[3]; scanf("%d",&x); z[0]=x/100*4; z[1]=(x/10-10)*2; z[2]=(x-110)*1; printf("%d",z[0]+z[1]+z[2]); return 0; }

  • 10進数から2進数への変換

    こんにちは。 10進数から2進数への変換をせよという問いの場合、2で割っていくというのが基本的な考えですよね。割り算を使わずに10進数から2進数に変換する方法というのはあるのでしょうか?ご存知の方いましたらご教授ください。

  • 10進数→2進数への変換が理解できません。

    変換する際に10進数の数を0になるまで2で割ることは分かったのですが、その後がどうも理解できません。 割った数から1か0で並べていくみたいですが、そこが理解できません・・・。 http://www.infraexpert.com/study/ip1.html (10進数から2進数への変換方法を見てください) ここのサイトにも紹介されていますが、2で割った後の青い部分(0か1)に変換する部分が分かりません。 なぜ0は1なのでしょうか? なぜ1は0で、2は1なのでしょうか? 奇数と偶数が関係しているのなら5が0になるのも理解できませんし・・・。 大変困っています。どうか助けてください。お願いします。

  • 16進数から2進数への変換

    「Aレジスタに一文字のアスキーコードがあり、これを以下のように二進数に変換してBレジスタに代入する」 Aレジスタ='0’のとき、Bレジスタ=00000000B Aレジスタ='A’のとき、Bレジスタ=00001010B この例題に苦戦してます。。 16進数を2進数に変換するアセンブリ言語を教えてください!!

  • 小数点を含む2進数を10進数に変換する方法

    小数点を含む2進数を10進数に変換するさいに 小数点以下は右にいくにつれ-2、-3と2の上に累乗を付けるというところまでは理解できました。 そして0は計算せず、1の付く部分のみ計算する、そして1は分子で累乗の計算結果が分母であることも理解しました。 さらに分子÷分母で導き出された数を足すという理屈も理解しました。 しかし、分子÷分母の計算結果が理解できません。 1÷2が0.5は分かります。 10÷2とした時の答えが5なので… しかしそこから先の計算結果がなぜそうなるのか理解できません。 上記の簡単な計算方法はありますか? また、参考書にあった以下の式でなぜ下2桁の75が生まれたのか理解できません。 2+0.25+0.125=2.375 こちらも分かりやすくどなたが解説していただけないでしょうか…( ;∀;)

  • 2進数から16進数への変換、あるいはその逆について

    はじめまして。 高校の情報の授業で「2進数・10進数・16進数」を勉強しています。 どうしても2進数から16進数への変換、あるいは、16進数から2進数への変換の方法がわかりません・・・ 初心者でも分かりやすい解説をお願いします。

  • 指定文字から、空白までを16進数→10進数に変換する関数

    エクセルで、A1セルに下記が記載されています。 「タイトルテスト#7BC ☆☆☆」 この文字列で、7BCだけを抽出し、さらに10進数に変換してB1へ出力したいと考えています。 16進数の前には必ず#がついており、最後には空白があります。 ♯から空白までの文字を10進数に変換する関数を調べたのですが、私には分かりませんでした。 どなたかご教授お願いいたします。