Bitwise XOR java largo
Estoy usando Oracle Java 7.51 en Ubuntu 12.04 e intento hacer esto
long a = 0x0000000080000001 ^ 0x4065DE839A6F89EEL;
System.out.println("result "+ Long.toHexString(a));
Output: result bf9a217c1a6f89ef
Pero esperaba que el resultado fuera4065de831a6f89ef
, ya que el operador ^ es un XOR bit a bit en Java. ¿Qué parte de la especificación de Java estoy leyendo mal?