Когда вы думаете, что конвертируете свои числа в другую базу, вы фактически создаете строки, которые представляют ваше число в этих базах. Когда вы затем попытаетесь их XOR, JS преобразует эти строки в числа, но не знает, на каких основаниях они находятся, и обрабатывает их как десятичные числа. точка, когда вы отображаете свои данные.
var hexarr = 'f86b8204';
binaryData = hexarr.charCodeAt(0);
console.log("binaryData: ", binaryData.toString(2));
console.log("binaryData^3: ", (binaryData ^ 3).toString(2));
console.log("decimalData : ", binaryData.toString(10));
console.log("decimalData^3 : ", (binaryData^ 3).toString(10));
console.log("hexData: ", binaryData.toString(16));
console.log("hexData^3: ", (binaryData ^ 3).toString(16));