本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 秋期 基本情報技術者試験問題と解説

問2

次に示す手順は、列中の少なくとも一つは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)


正解


解説

【手順1】
00101000−1 = 00100111
これが結果Bである。

【手順2】
00101000 XOR 0010011100001111
これが結果Cである。

0010100000001111の演算が 00001000 であるということは、
1、2、4桁目: 000
3桁目: 100
5桁目: 111
6、7、8桁目: 010
これらの結果が得られるのは、論理積 (AND) である。

問1 目次 問3