A função XOR a seguir, codificada na linguagem de programação C, calcula um byte de verificação para um dado pacote de tam bytes:
typedef unsigned char uchar;
uchar XOR (uchar pacote[ ], int tam)
{ int i; uchar b = 0;
for (i = 0; i < tam; i++) b = b ^ pacote[i]; /* ^ é OU EXCLUSIVO */
return b; }
Um pacote de dois bytes, sendo o primeiro deles 2F (em hexadecimal), é submetido à função XOR, que produz o byte FF como resultado. Logo, o segundo byte do pacote é:
typedef unsigned char uchar;
uchar XOR (uchar pacote[ ], int tam)
{ int i; uchar b = 0;
for (i = 0; i < tam; i++) b = b ^ pacote[i]; /* ^ é OU EXCLUSIVO */
return b; }
Um pacote de dois bytes, sendo o primeiro deles 2F (em hexadecimal), é submetido à função XOR, que produz o byte FF como resultado. Logo, o segundo byte do pacote é: