次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,00101000が与えられたとき,00001000が求まる。aに入る論理演算はどれか。
手順1 与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。
手順2 AとBの排他的論理和(XOR)を求め,結果をCとする。
手順3 AとCの a を求め,結果をAとする。
- 排他的論理和(XOR)
- 否定論理積(NAND)
- 論理積(AND)
- 論理和(OR)
解答
ウ
解説
例に挙げられている“00101000”について、手順通りに計算していきます。
- 00101000(A)から1を引くと 00100111(B)になります。
- XOR演算は、下表のような結果になる演算です。
値 x 値 y 結果 0 0 0 0 1 1 1 0 1 1 1 0 - 最終的に、00001000 が求まるため、AとCの演算は下表のようになるはずであり、これは論理積(AND)に該当します。
値 x 値 y 結果 0 0 0 0 1 0 1 0 0 1 1 1
参考情報
分野・分類
分野 | テクノロジ系 |
大分類 | 基礎理論 |
中分類 | 基礎理論 |
小分類 | 離散数学 |
出題歴
- FE 平成30年度秋期 問2