16進数から10進数への変換方法|計算式と仕組みを解説
この記事の要点
- A〜Fを10〜15へ置き換えます。
- 右端から各桁に1、16、256、4096と重みを掛けます。
- 各桁の計算結果をすべて合計すると10進数になります。
コンピュータの世界では、色コード(#FFFFFF)やメモリアドレスなどで頻繁に「16進数」が使われます。
しかし、私たちが普段使う「10進数」とどう違うのか、どうやって計算すればいいのか戸惑うことも多いでしょう。この記事では、16進数変換の仕組みや、10進数との相互変換の方法をわかりやすく解説します。
16進数とは?
16進数(Hexadecimal)は、数値を「0」から「9」までの数字と、「A」から「F」までのアルファベット、合計16種類の文字を使って表現する方法です。
- 10進数: 0, 1, ..., 9 の10種類で桁上がり
- 16進数: 0, 1, ..., 9, A, B, C, D, E, F の16種類で桁上がり
16進数の「A」は10進数の「10」、「F」は「15」に対応します。「10」になった瞬間に桁が増える10進数とは異なり、16進数は「16」になった瞬間に次の桁へ進みます。
16進数から10進数への変換方法
16進数を10進数に直すには、各桁の数値に「16のn乗」を掛けて、それらをすべて足し合わせます。
これを「重み付け加算」と呼びます。
計算の公式
(n桁目の値 × 16^(n-1)) + ... + (2桁目の値 × 16^1) + (1桁目の値 × 16^0)
具体的な計算例
例として、16進数の 「2A」 を10進数に変換してみましょう。
手順1:各桁を分解する
- 2桁目(16の1乗の位): 2
- 1桁目(16の0乗の位): A (10進数では 10)
手順2:重みを掛けて足す
計算式: (2 × 16^1) + (10 × 16^0) = (2 × 16) + (10 × 1) = 32 + 10 = 42 答え: 42
もう一つ、3桁の数 「1F4」 の例を見てみましょう。
1F4 (16進数) ----------------------- 3桁目 (1): 1 × 16^2 = 1 × 256 = 256 2桁目 (F): 15 × 16^1 = 15 × 16 = 240 1桁目 (4): 4 × 16^0 = 4 × 1 = 4 ----------------------- 合計: 256 + 240 + 4 = 500 答え: 500
10進数から16進数への変換
逆に、10進数を16進数にするには、商が0になるまで「16で割り算」を繰り返し、その「余り」を下から順に並べます。
例:10進数の「500」を16進数へ
500 ÷ 16 = 31 余り 4 (↑ 1桁目) 31 ÷ 16 = 1 余り 15 (↑ 2桁目 ※15はF) 1 ÷ 16 = 0 余り 1 (↑ 3桁目) 余りを下から読むと: 1, F, 4 答え: 1F4
まとめ
桁数が少ない場合は手計算でも可能ですが、桁数が増えると計算ミスが起きやすくなります。
Web開発や学習の現場では、正確なツールを使って確認することをおすすめします。
よくある質問
16進数2Aを10進数にするといくつですか?
2×16+10で42です。Aは10として計算します。
16進数の右端の重みは16ですか?
いいえ、右端は16の0乗で1です。その左が16、その次が256です。
0xFFの0xも計算に含めますか?
含めません。0xは16進数であることを示す記号で、数値本体はFFです。
大きな16進数を変換すると誤差が出ることはありますか?
使用する数値型の上限を超えると丸められる場合があります。大きな整数ではBigInt対応の方法を利用してください。