XOR significa OR esclusivo. E` un operatore booleano che si comporta come l`OR, tranne nel caso in cui i due operandi siano entrambi 1 (da cui l`aggettivo 'esclusivo'). Oppure, in modo piu` intuitivo, si puo` dire che restituisce 1 sse i due operandi sono diversi.
Su piu` operandi si puo` generalizzarlo come operatore di disparita`, perche` restituisce 1 sse fra gli operandi c`e` un numero dispari di "uni". Questa e` la tabella di verita` dello XOR:
Penso possa bastare.codice:x1 x2 | y -------|--- 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0
La formula che ho scritto nel post precedente e` una proprieta` dello XOR, che lo rende reversibile. Infatti una variabile booleana "XOR-ata" due volte con un`altra variabile booleana ritorna la variabile stessa. Quindi cripterai con var_decriptata ^= mask e decripterai alla stessa maniera con var_criptata ^= mask.

Rispondi quotando