10進数123を,英字A~Zを用いた26進数で表したものはどれか。ここで,A=0,B=1,…,Z=25とする。
ア BCD
イ DCB
ウ ET
エ TE
10進数の123を26進数に変換せよ、という問題。
262 = 676 > 123 であるから、26進数に変換すると2桁の値になる。したがってアとイは不適。202が400であることを考えれば、すぐにわかる。
123を26で割ると、4.730… となるので、2桁目は4に相当する値となる。「4.730…」という細かい値を求める必要はなく、「26×4 < 123 < 26×5」ということがわかれば十分。暗算でもすぐにわかる。
10進数の4に対応するアルファベットはEなので、正解はウのET。
10進数と26進数の対応表は、次のようになる。
26進数 | 10進数 |
A | 0 |
B | 1 |
C | 2 |
D | 3 |
E | 4 |
F | 5 |
G | 6 |
H | 7 |
I | 8 |
J | 9 |
K | 10 |
L | 11 |
M | 12 |
N | 13 |
O | 14 |
P | 15 |
Q | 16 |
R | 17 |
S | 18 |
T | 19 |
U | 20 |
V | 21 |
W | 22 |
X | 23 |
Y | 24 |
Z | 25 |
この対応表を用いて、ア~エの値を計算してみる。
ア: BCD = 1×262 + 2×261 + 3×260 = 731
イ: DCB = 3×262 + 2×261 + 1×260 = 2081
ウ: ET = 4×261 + 19×260 = 123
エ: TE = 19×261 + 4×260 = 498
となる。つまりx桁のn進数を10進数に変換する場合、次のように計算すればいい。
(x桁目を10進数に直した値)×nx-1 + (x-1桁目を10進数に直した値)×nx-2 + (x-2桁目を10進数に直した値)×nx-3 + ・・・ + (1桁目を10進数に直した値)×n0
これで多少出題形式が変わっても対応できる。