Enter Hex Number:

16進数から10進数への変換方法。

How to convert hex to decimal

1B7Eを16進数として、以下の手順で10進数に変換してみましょう。

ステップ1. 16進数の各桁にインデックスをマークします。インデックスは、単純に右から左へ数える数字内の桁の位置である。

\begin{array}{|c|c|c|c|c|c|c|} \hline \text{十六進法} & \text{1} & \text{B} & \text{7} & \text{E} \\ \hline \text{インデックス} & \text{3} & \text{2} & \text{1} & \text{0} \\ \hline \end{array}

ステップ2. 指定されたマッピングに従って、数字を10進数の相当値に置き換える。

\begin{array}{|c|c|c|c|c|c|c|} \hline \text{Hex code} & \text{A} & \text{B} & \text{C} & \text{D} & \text{E} & \text{F} \\ \hline \text{Dec Equiv.} & \text{10} & \text{11} & \text{12} & \text{13} & \text{14} & \text{15} \\ \hline \end{array}

この例では、結果は次のように書き表すことができます。

\begin{array}{|c|c|c|c|c|c|c|} \hline \text{16 進法の値を 10 進法で表示} & \text{1} & \text{11} & \text{7} & \text{14} \\ \hline \text{インデックス} & \text{3} & \text{2} & \text{1} & \text{0} \\ \hline \end{array}

ステップ3. ここで、16進数の各桁に、それぞれの指数の16乗を掛けると、10進数での位取りが得られます。

の位置を変換する。 E: $$E \Rightarrow 14 \times 16^0 = 14$$
の位置を変換する。 7: $$ 7 \Rightarrow 7 \times 16^1 = 112$$
の位置を変換する。 B: $$ B \Rightarrow 11 \times 16^2 = 2816$$
の位置を変換する。 1: $$ 1 \Rightarrow 1 \times 16^3 = 4096$$

ステップ4. ここで、すべての位取りを足して、10進数に相当する値を求めます。

$$ DEC = 4096 + 2816 + 112 + 14 = 7038 $$


16進数と10進数の比較。

数体系とは、数量を表す特定の記号を並べたもので、2進数、10進数、16進数は既に聞いたことがあるかもしれません。

数体系の基数

これらの数システムの唯一の違いは、基数または桁数である。ある数体系における明確な桁数の合計は、その数体系の基数または底数として知られている。

十進法の数体系。

10進数とは、基数(ベース)が10に等しい数体系である。どのような数体系でも、2つのものがある。額面値と位取り値です。245のような乱数を考えてみよう。この数を重み付きで書くと次のようになる。

$$245 = (2 \times 100) + (4 \times 10) + (5 \times 1)$$

上の例では、まず額面2にその場所の重さである100を乗じ、それ以外の場所についてはその手順を繰り返す。

16進数システム。

その名が示すように、この数体系では16進法が使われています。この数体系では、0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、Fの16個の異なる桁がある。この数体系は、10進数と2進数の間に完全に適合するため、ほとんどのコンピューターの記憶とプログラミングに好まれている。

なぜ、ある数体系が他の数体系よりも一般的なのか?

よくある疑問として、「どのベースでも数体系を構築できるのなら、なぜ2進数、10進数、16進数を最も多く使っていて、他の数体系を使わないのか」というものがあります。

その理由は、実用的なものと歴史的なものの両方がある。10進法が10を基数としているのは、まさに私たちの指の数と同じであることがわかる。このことは、10進法がこれほど長い間普及してきたことの説明となる。

二進法は、2進数のみで演算できるコンピュータの時代になって急に普及した。二進法の欠点は、基数が2つしかないため、二進数の長さが長くなることである。

16進法は、2進法と10進法の間の完璧なリンクである。10進数の10を表現するために必要な2進法の最小ビットは4である。

$$1010$$

しかし、4ビットで16種類の記号や数字を表現することができる。2進数の1111は10進数では16に相当する。そこで登場したのが16進法です。4ビットで10桁の数字だけを表す場合、残りの6桁を表します。16進数では、より少ないビット数で大きな数を表現でき、メモリの無駄もない。