基本情報技術者 平成27年度春期午前問1

午前問1

次に示す手順は、列中の少なくとも一つは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)
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

手順1〜手順3を順に求めます。

手順1
00101000-1=00100111
B=00100111

手順2
00101000 XOR 00100111=00001111
C=00001111

手順3
00101000 a 00001111=00001000
00001000になる論理演算aをア〜エにあてはめます。
ア.排他的論理和(XOR)
00101000 XOR 00001111=00100111

00001000とならないのでXORはaではありません。
イ.否定論理積(NAND)
00101000 NAND 00001111=11110111

00001000とならないのでNANDはaではありません。
ウ.論理積(AND)
00101000 AND 00001111=00001000

00001000となるのでANDはaです。
エ.論理和(OR)
00101000 OR 00001111=00101111

00001000とならないのでORはaではありません。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする