基本情報技術者試験 2008年度 = 平成20年度・秋期 午前 問1

 次の流れ図は、10進整数 j(0< j <100)を8けたの2進数に変換する処理を表している。2進数は下位けたから順に、配列NISHIN (1)からNISHIN (8)に格納される。流れ図のa及びbに入る処理はどれか。ここで、j div 2は j を2で割った商の整数部分を、j mod 2は j を2で割った余りを表す。



 ア   j div 2 → j  j mod 2 → NISHIN (k )
 j div 2 → NISHIN (k )    j mod 2 → j
 j mod 2 → j  j div 2 → NISHIN (k )  
 j mod 2 → NISHIN (k )  j div 2 → j

解答



解説

 10進整数から2進整数への基数変換のアルゴリズムに関する問題です。
 10進整数を2進整数に変換する際は、変換元の10進数を2で割った剰余(余り)を求め、その商に対して除算を繰り返していきます。繰返しは、2で割った商が0になるまで続けます。除算の過程で求められた剰余を逆に並べたものが、変換後の2進数です。
 例として、10進整数57を2進数に変換する過程を以下に示します。

 数(商)      剰余
  57  ÷  2  1
  28  ÷  2  0
  14  ÷  2  0
   7  ÷  2  1
   3  ÷  2  1     変換後
   1  ÷  2  1  →  111001
 j を2で割った余りを配列NISHIN に格納するとともに、j の値を2で割っていくわけですから、正解はです。


BohYoh.comトップページへ