Estoy buscando una forma de realizar un XOR bit a bit en un entero de 64 bits en JavaScript.
JavaScript convertirá todos sus valores dobles en enteros de 32 bits con signo para realizar las operaciones bit a bit.
Ya encontré esta función en AND bit a bit en Javascript con un entero de 64 bits para AND bit a bit y parece funcionar bien, pero aún necesito el XOR.
function and(v1, v2) { var hi = 0x80000000; var low = 0x7fffffff; var hi1 = ~~(v1 / hi); var hi2 = ~~(v2 / hi); var low1 = v1 & low; var low2 = v2 & low; var h = hi1 & hi2; var l = low1 & low2; return h*hi + l; }Para la función XOR, esta es la transformación que he hecho pero no funciona correctamente, cualquier ayuda para modificarla me ayudaría.
function XOR(v1, v2) { var hi = 0x80000000; var low = 0x7fffffff; var hi1 = ~~(v1 / hi); var hi2 = ~~(v2 / hi); var low1 = v1 ^ low; var low2 = v2 ^ low; var h = hi1 ^ hi2; var l = low1 ^ low2; return h * hi - l; }Cualquier ayuda es apreciada.