修了試験 2020-01-26実施分 基本情報技術者試験 問2
次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。 例えば,00101000が与えられたとき,00001000が求まる。 aに入る論理演算はどれか。 手順1 与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。 手順2 AとBの排他的論理和(XOR)を求め,結果をCとする。 手順3 AとCの[a]を求め,結果をAとする。
正答3
解説
正解はウ。 B=A-1で最下位の1とその下位が反転する。 AとBの排他的論理和Cは,最下位の1からその位置までが1になったマスクとなる。 AとCの論理積(AND)を取ると,最下位の1だけが残る(例:00101000→00001000)。まとめて解く
修了試験 2020-01-26実施分を通しで解く(80問)→