どのようにNOR
動作しますか?
式は、、、およびx NOR y
を使用して分割できます。AND
OR
NOT
x NOR y == NOT(x OR y) == NOT(x) AND NOT(y)
したがって、指定された値について:
a=0b01100001
b=0b01100010
a NOR b
でしょうNOT(a) AND NOT(b)
。今、あなたはどのように行うと思いますかNOT(a)
?ビットを反転するだけです。ビットを反転する方法は何ですか? アンXOR(^)
。どのように?
0 ^ 1 == 1
1 ^ 1 == 0
したがって、XOR
任意のビットをで取得すると、1
そのビットが反転します。すなわちNOT(somebit) == a XOR somebit
。したがって、あなたの場合、XOR
各ビットa
を取得するだけで、b
次のようになります。1
NOT
01100001
^ 11111111
------------
10011110
つまり、XOR
withを実行し11111111
ます。1's
の数は のビット数と同じであることに注意してくださいa
。
それを一緒に入れて:
NOT(a) = a ^ 0b11111111
NOT(b) = b ^ 0b11111111
とNOT
のが得られたので、 を実行しましょう。それで、何をする方法は何ですか?ビットごとに実行するだけです。a
b
AND
AND
&
それはとても簡単です:
NOT(a) AND NOT(b) == (a ^ 0b11111111) & (b ^ 0b11111111)