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

選択肢
- 1a:j ← j div 2 / b:NISHIN(k) ← j mod 2
- 2a:j ← j mod 2 / b:NISHIN(k) ← j div 2
- 3a:NISHIN(k) ← j div 2 / b:j ← j mod 2
- 4a:NISHIN(k) ← j mod 2 / b:j ← j div 2
正解
4. a:NISHIN(k) ← j mod 2 / b:j ← j div 2
詳しい解説を見る解説を閉じる
解説
10進数を2進数へ変換する基本手順は「2 で割った余りを下位桁から順に並べる」ことです。各繰返しでは、まず現在の j を 2 で割った余り(j mod 2)がその桁のビットになるので、これを a で NISHIN(k) に格納します。次に b で j を j div 2(2 で割った商)に更新し、次の桁の計算に備えます。順序が逆だと、まだ更新前の値で桁を取り出せなくなったり余りが消えてしまうため、a が NISHIN(k) ← j mod 2、b が j ← j div 2 となるエが正解です。(出典: 令和元年度 秋期 基本情報技術者試験 午前 問1)
一問一答
科目A 180問+科目B 60問