応用情報技術者

【応用情報 平成28年度 春季午前 問2】26進数の計算問題を解く

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進数に変換する場合、次のように計算すればいい。

n進数を10進数に変換する公式

(x桁目を10進数に直した値)×nx-1 + (x-1桁目を10進数に直した値)×nx-2 + (x-2桁目を10進数に直した値)×nx-3 + ・・・ + (1桁目を10進数に直した値)×n0

これで多少出題形式が変わっても対応できる。