El caso es que los operadores And Or Xor y Not funcionan a nivel de bit.
Imagina que tienes el caracter % que es el ascii numero 37.
ese caracter se guarda en un byte, que son 8 bits, los cuales son numeros que solo pueden valer 0 o 1
37 en binario es 00100101
el operador xor compara 2 bits y devuelve 0 si tienen el mismo valor y 1 si son diferentes.
ejemplo: codificamos el 37 con un 45, osea, en vb6:
resultado=37 xor 45
tenemos el 37: 00100101
y el 45: 00101101
comparamos sus bits:
00100101
00101101
donde son iguales ponemos 0 y donde no 1
Código :
Ver originalel 37 00100101
el 45 00101101
-------------
00001000
El resultado es 8 y la prueba es:
msgbox 37 xor 45
que devuelve 8
Si hacemos lo mismo a ese 8 y usando de nuevo el 45:
msgbox 8 xor 45
devuelve 37 y en binario se veria asi:
00001000
00101101
------------
00100101
osea 37
Igual has entendido algo