16進数から10進数への変換:シンプルな方法


16進数は、0から9までの数字とAからFまでのアルファベットで表されます。一方、10進数は通常の数値表現です。16進数を10進数に変換するためには、以下の手順に従うことができます。

  1. 16進数の桁の値を10進数の値に変換します。0から9までの数字はそのまま、Aは10、Bは11、Cは12、Dは13、Eは14、Fは15に対応します。

  2. 各桁の値を10進数に変換した後、それぞれの桁の値に16の累乗を掛けます。右から左に進むごとに、16のべき乗の値は1ずつ増えます。例えば、16進数の「1A」を10進数に変換する場合、1を16の0乗(1)、Aを16の1乗(16)に変換し、それぞれの値に対応する桁の位置に掛けます。

  3. 各桁の値に16の累乗を掛けた結果を合算します。例えば、16進数の「1A」を10進数に変換する場合、1×16^0 + A×16^1 = 1×1 + 10×16 = 1 + 160 = 161となります。

以下に、Pythonで16進数から10進数に変換するコード例を示します。

def hex_to_decimal(hex_string):
    decimal = 0
    power = len(hex_string) - 1
    for digit in hex_string:
        if digit.isdigit():
            decimal += int(digit) * (16  power)
        else:
            decimal += (ord(digit.upper()) - 55) * (16  power)
        power -= 1
    return decimal
# 使用例
hex_num = '1A'
decimal_num = hex_to_decimal(hex_num)
print(decimal_num)  # 結果: 161

この例では、与えられた16進数を桁ごとに処理し、数字の場合はそのまま10進数に変換し、アルファベットの場合は対応する値に変換しています。各桁の値に16の累乗を掛けて合算し、最終的な10進数の値を得ることができます。

以上が16進数から10進数への変換のシンプルな方法とコード例です。他のプログラミング言語でも同様の手順で変換ができるので、ぜひ試してみてください!