基本情報技術者試験 基本情報技術者試験 令和元年度 科目A 修了認定試験 午前 問2: 次に示す手順は、列中の少なくとも一つは 1 であるビット列が与えられたとき、最も右にある 1 を残し、他のビットを全て 0 にするアルゴリズムである。例えば、0

基本情報技術者試験 令和元年度 科目A 修了認定試験
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.03%(1,083件)

解説

基本情報技術者試験 令和元年度 科目A 修了認定試験 問2「次に示す手順は、列中の少なくとも一つは 1 であるビット列が与えられたとき、最も…」の正解と解説です。基本情報技術者試験の「ビット演算」分野の過去問で、これまでの受験者の正答率は約55%です。

正解

. 論理積(AND)

正答率 55.0%(1,083人中 596人が正解)

問題の解説

ビット列 A から 1 を引いた B では、最も右の 1 ビット位置から下位の 0 ビット全てが反転する。A XOR B によりこの反転領域がマスクとして得られ、A AND C で最右の 1 のみを残せる。例: A=00101000, B=00100111, C=A XOR B=00001111, A AND C=00001000。

選択肢ごとの解説

  • XOR を使うと A=01001000 などになり、最右 1 だけを残せない。
  • NAND は元の A のビット情報を破壊するため、最右 1 を残す動作にならない。
  • AND によりマスク C との共通ビットだけが残り、A の最右 1 だけが選択される=正解。
  • OR では A の全ての 1 ビットがそのまま残り、他のビットも 0 にならない。

基本情報技術者試験 令和元年度 科目A 修了認定試験 の過去問一覧に戻る・問2

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

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

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