-->
Home -> C / C++ -> L’ Operazione XOR in C

L’ Operazione XOR in C

29
Dec
2009
0

Oggi vi voglio parlare dell’ operatore XOR e della sua applicazione al linguaggio C…
In linea di principio la tabella di verità relativa a questo operatore logico è:

 Osservando la tabella si può comprendere come in realtà l’operazione logica ritorni sempre risultato VERO per p != q . Un altro aspetto della XOR è che di fatto rappresenta l’operazione di addizione senza effetuare il conteggio del riporto entrante ( carry ) ad esempio:

1110 xor 1001 = 0111

In C , l’ OR esclusivo viene applicato tramite l’operatore ^ che effettua una XOR bit a bit. Quindi avendo una variabile di questo tipo:

int a;
int MASK;
int res;
a = 10011010;
MASK = 11111111;
res = a ^ MASK ;

Il valore di res sarà: 01100101

L’ algoritmo di XOR può essere utilizzato ad esempio per implementare un sistema di criptaggio / decriptaggio delle informazioni: la variabile MASK infatti, fa da chiave sia in fase di codifica sia per la decodifica. Applicando l’operazione di XOR tra il risultato del precedente esempio (res) e la variabile MASK si riottiene di nuovo il valore di a.

Condividi:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Technorati
  • Twitter
:

Commenti

Lascia il tuo commento:

Cerchi qualcosa?

Usa questo form per cercare argomenti in questo blog:

Non riesci a trovare quello che cerchi? Lascia un commento in un post oppure contattami per risolvere il problema!

Puoi trovarmi su Twitter come @superbre