Почему в JS 3232286728 & (-256) = -1062680576?
Для поразрядных операций JS приводит числа к Int32 (знаковому), и, например, 3232286720 в этот диапазон не влазит, оно считается отрицательным из-за единичного старшего бита.

Чтобы посмотреть, как оно работает, открой консоль браузера, и создай 2 массива:
var a = new Uint32Array(1);
var b = new Int32Array(a.buffer);

a[0] = 3232286728;

console.log(b[0]);
спасибо за помощь, вот так мне удалось решить проблему

console.log(Number(BigInt(3232286728) & BigInt(-256))); // 3232286720

если есть другое решение, пишите