基本情報技術者試験 基本情報技術者試験 平成30年度 秋期 午前 午前 問2: 次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,0010100

基本情報技術者試験 平成30年度 秋期 午前
Q 22 / 80
次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,00101000が与えられたとき,00001000が求まる。aに入る論理演算はどれか。 手順1 与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。 手順2 AとBの(XOR)を求め,結果をCとする。 手順3 AとCの[a]を求め,結果をAとする。
この問の正解率:55.02%(1,963件)

解説

基本情報技術者試験 平成30年度 秋期 午前 問2「次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右に…」の正解と解説です。基本情報技術者試験の「数学」分野の過去問で、これまでの受験者の正答率は約55%です。

正解

. 論理積(AND)

正答率 55.0%(1,963人中 1,080人が正解)

問題の解説

最も右にある1だけを残し他を0にするには、A から1を引いた B との XOR で生成したマスク C を、A と AND して最下位1ビットだけを残します。よって a に入るのは論理積(AND)でウが正解です。

選択肢ごとの解説

  • XOR は手順2で既に使われており、ここで再度XORを取るとビットの状態が反転して目的の結果になりません。
  • NAND ではビットが反転して残る結果となり、「最右の1だけ残す」処理にはなりません。
  • AND は2つのビット列で両方が1のビットだけを残す演算で、A AND C により最右の1ビットだけを抽出できます。正解です。
  • OR では他のビットも残ってしまい、最右の1だけにする処理になりません。

基本情報技術者試験 平成30年度 秋期 午前 の過去問一覧に戻る・問2

基本情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

基本情報技術者試験 合格.dev を App Store でダウンロード