0

とてもシンプルです。2の補数で表される整数を否定したいので、そのためには、最初にバイトのすべてのビットを反転する必要があります。これはXORを使用すると簡単です。ビットマスク11111111を使用してXORを使用するだけです。しかし、XORを使用しない場合はどうでしょうか。(つまり、ANDとORだけ)。ああ、そして私が使用しているこのくだらないアセンブリ言語では、NOTは存在しません。だから、そこにもサイコロはありません。

4

2 に答える 2

4

ANDゲートとORゲートからNOTゲートを作成することはできません。

説明を求められたので、ここではうまくフォーマットされています。ゲートがいくつでもあるANDとしましょう。OR入力はA、0と1です。3つの信号(省略されたものを1つ選択)と2つのゲートから3つのペアを作成できるため、6つの可能性があります。今:

Operation  Result
A AND A    A
A AND 1    A
A AND 0    0
A OR A     A
A OR 1     1
A OR 0     A

したがって、信号のいずれかを最初のゲートに供給した後でも、新しい信号のセットはA、0、および1のままです。したがって、これらのゲートと信号の任意の組み合わせは、A、0、および1のみを取得します。 Aの場合、これは、Aの両方の値が!Aに等しくないことを意味します。最終出力が0の場合、A = 0は、最終値が1に対して!Aではないような値になります。

編集:その単調なコメントも正しいです!ここで繰り返します。AND/ORの入力のいずれかを0から1に変更しても、出力は減少しません。したがって、NOTゲートを構築すると主張する場合は、入力を0から1に変更します。出力も減少することはできませんが、減少するはずです。これは矛盾です。

于 2011-05-29T01:40:27.443 に答える
0

トリックはありますか(foo & ~bar) | (~foo & bar)

編集:ああ、存在しません。その部分を見ませんでした!

于 2011-05-29T01:40:03.933 に答える