Turing Complete Unofficial

Conditions

前提レベル

このレベルを前提とするレベル

概要

「値」と「条件を選択する3ビット」が入力されるので、 「値」が「条件」を満たす場合はON、 満たさない場合はOFFを出力する回路を構築する問題です。

ビットと条件の対応は以下のものです。

ビット3ビット2ビット1条件
OFFOFFOFF常に偽
OFFOFFON値 = 0
OFFONOFF値 < 0
OFFONON値 ≦ 0
ONOFFOFF常に真
ONOFFON値 ≠ 0
ONONOFF値 ≧ 0
ONONON値 > 0

攻略

ビットと条件の関係をよく見て、それに沿って回路を構成します。

解答

開く

まず、ビット3がOFFの場合を考えると、以下のことがわかります。

さらに、ビット3がONの場合は、 ビット3がOFFの場合の条件の反転になっていることがわかります。
したがって、この場合はビット3がOFFの場合の出力を反転させればいいです。

値 = 0 かどうかの判定は、値の全ビットがOFFになっているかをチェックすればよいです。
すなわち、値の全ビットをORした結果がOFFになっているかをチェックすればよいです。

値 < 0 かどうかの判定は、値の最上位ビットがONになっているかをチェックすればよいです。