2017-06-04 17 views
-2

私は非常に簡単な質問があります。なぜx^0 = xですか?

なぜXORが0で編集された場合に番号が表示されるのですか?

例を使って証明することができますか?

私は数5

5^0==>

私は答えは0と5 XOR'edのちょうど最後のビットであるべきと思うが、答えはまだ5

+0

だと思い、このよう:XORは、2進数の各ペアの追加modの2に相当します。xor操作は1とバイナリANDを適用した後、あなただけの結果の最後のビットを必要とする場合数字に0を加えた場合、数字は変わりません – samgak

答えて

0

あなたが理解できなかったことは何ですか。だけではなく、最後のビットに - についてXOR

00000101 // = 5 
00000000 // = 0 
-------- 
00000101 // = 5 
+0

助けてくれてありがとう。別のものと混同してしまいました。 –

1

0であるがfalse考えてみましょう、1が成立する。

定義によると、XOR演算A XOR Bは "AまたはBですが、AとBはありません"です。だから、B以来偽であるので、結果はA.また

XOR truth table shows that it outputs true whenever the inputs differ次のようになります。あなたはそれが0とXORされている場合、Aの値とするものは何でも、見ることができるように

Input Output 

A B XOR Result 
0 0 0 
0 1 1 
1 0 1 
1 1 0 

、結果ビット自体です。

だから、あなたが言うように:

5 = 101, 0 = 000 
When performing XOR operation on the individual bits: 

101 
000 
---- 
101 = 5. 

したがって、X^0の結果はXそのものです。

0

ビット単位の演算数のビットのセットで動作をお読みください。 したがって、32ビット整数でビット単位の操作を実行すると、32ビットすべてが影響を受けます。したがって、整数50.....0000101 (32 bits)です。

<script> 
 
console.log("%i\n",(5^0)&1); 
 
console.log("%i\n",(6^0)&1); 
 
</script>

それの
関連する問題