どのようにNOR動作しますか?
式は、、、およびx NOR yを使用して分割できます。ANDORNOT
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次のようになります。1NOT
01100001
^ 11111111
------------
10011110
つまり、XORwithを実行し11111111ます。1'sの数は のビット数と同じであることに注意してくださいa。
それを一緒に入れて:
NOT(a) = a ^ 0b11111111
NOT(b) = b ^ 0b11111111
とNOTのが得られたので、 を実行しましょう。それで、何をする方法は何ですか?ビットごとに実行するだけです。abANDAND&
それはとても簡単です:
NOT(a) AND NOT(b) == (a ^ 0b11111111) & (b ^ 0b11111111)