そもそも16進数とは
10進数は数量を0, 1, 2, 3, 4, 5, 6, 7, 8, 9で表しますが、16進数は0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15)で表します。
10進数の場合、9の次の数字が10となり桁上がりしますが16進数の場合はまだ続きがあるので9の次はAとなります。16進数の場合Fの次がようやく『10』となります。16進数の10は10進数で表すと16となります。
10進数 | 16進数 |
---|---|
9 | 9 |
10 | A |
15 | F |
16 | 10 |
10進数の場合はよく右から『1の位』『10の位』『100の位』と呼びますが、16進数の場合は『1の位』『16の位』『256(=16×16)の位』となっています。さらに右から4桁目が存在した場合は4096(=16*16*16)の位になります。桁が増える毎に16が掛けられていきます。
16進数から10進数へ変換する
例題:5AEを10進数に直す
5×16×16+10×16+1×14=1454
256(=16×16)の位が5、16の位がA(10)、1の位がE(14)なのでそれぞれ掛け合わせれば10進数に変換できます。
5AEを10進数に直すと1454になります。
10進数から16進数へ変換する
例題:10075を16進数に直す
商が0になるまで16で割り続けます。
10075÷16=629あまり11
629÷16=39あまり5
39÷16=2あまり7
2÷16=0あまり2
あまりが下から2, 7, 5, 11。11は16進数でBです。これを並べると275B。
10075を16進数に直すと275Bになります。
複雑に見えますが16進数から10進数に変換したときと逆のことをしようとしているだけです。