2017-06-04 3 views
-2

J'ai une question très simple.Pourquoi x^0 = x?

Pourquoi est un nombre lorsque XOR 'ed avec 0 donne le nombre lui-même.

Quelqu'un peut-il s'il vous plaît donner la preuve en utilisant un exemple.

Disons que je le numéro 5

5^0==>

Je pense que la réponse devrait être juste le dernier morceau de 5 XOR'ed avec 0, mais la réponse est toujours 5.

+0

penser de cette façon: XOR est équivalent à chaque paire de chiffres binaires mod d'addition 2. Si vous ajoutez 0 à un nombre, il ne changera pas – samgak

Répondre

0

Qu'est-ce que vous n'avez pas compris? S'il vous plaît lire sur XOR

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

Merci pour votre aide. J'ai été confondu avec une autre chose que j'ai lu ailleurs. –

1

0 est faux , et 1 est vrai. Selon la définition, l'opération XOR A XOR B est "A ou B, mais pas, A et B". Donc, puisque B est faux, de sorte que le résultat sera A.

En outre, XOR truth table shows that it outputs true whenever the inputs differ:

Input Output 

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

Comme vous pouvez le voir, quelle que soit la valeur de A, si elle est XORed avec 0, le résultat est le bit lui-même.

Alors, comme vous le dites:

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

101 
000 
---- 
101 = 5. 

Par conséquent, le résultat de X^0 est X lui-même.

0

opérations Bit-sage fonctionne sur ensemble de bits en nombre - pas seulement sur dernier bit. Donc, si vous effectuez une opération au niveau des bits sur un entier de 32 bits, alors tous les 32 bits sont affectés. Le nombre entier 5 est 0.....0000101 (32 bits). Si vous avez besoin juste le résultat dernier bit après xor opération d'application AND binaire avec 1:

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