UNPKG

dist-javascript-algorithms-and-data-structures

Version:

Algorithms and data-structures implemented on JavaScript

21 lines (17 loc) 564 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = updateBit; /** * @param {number} number * @param {number} bitPosition - zero based. * @param {number} bitValue - 0 or 1. * @return {number} */ function updateBit(number, bitPosition, bitValue) { // Normalized bit value. const bitValueNormalized = bitValue ? 1 : 0; // Init clear mask. const clearMask = ~(1 << bitPosition); // Clear bit value and then set it up to required value. return number & clearMask | bitValueNormalized << bitPosition; }