Получить бит
function getBit(number, bitPosition) {
return (number & (1 << bitPosition)) === 0 ? 0 : 1;
}
Установить бит
function setBit(number, bitPosition) {
return number | (1 << bitPosition);
}
Сбросить бит
function clearBit(number, bitPosition) {
const mask = ~(1 << bitPosition);
return number & mask;
}
Бит обновления
function updateBit(number, bitPosition, bitValue) {
const bitValueNormalized = bitValue ? 1 : 0;
const clearMask = ~(1 << bitPosition);
return (number & clearMask) | (bitValueNormalized << bitPosition);
}
Примеры были взяты из Алгоритмы JavaScript и структуры данных Хранилище.