How to set specific bits and find the set bits indexes in TypeScript

1 Answer

0 votes
const BIT_SIZE = 16;

// Print binary representation of the bits
function printBinary(bits: number): void {
  const binary = bits.toString(2).padStart(BIT_SIZE, '0');
  console.log(binary);
}

// Find the first set bit (least significant)
function findFirstSetBit(bits: number): number {
  for (let i = 0; i < BIT_SIZE; i++) {
    if ((bits >> i) & 1) {
      return i;
    }
  }
  return -1; // No bits set
}

function printSetBitIndexes(bits: number): void {
  const indexes: number[] = [];

  for (let i = 0; i < BIT_SIZE; i++) {
    if ((bits >> i) & 1) {
      indexes.push(i);
    }
  }
  console.log(indexes.join(' '));
}

let bits = 0;
bits |= 1 << 3;
bits |= 1 << 5;
bits |= 1 << 11;
bits |= 1 << 14;

printBinary(bits);
console.log('First set bit at index:', findFirstSetBit(bits));

console.log('All the set bits indexes:');
printSetBitIndexes(bits);



/*
run:
 
"0100100000101000" 
"First set bit at index:",  3 
"All the set bits indexes:" 
"3 5 11 14" 

*/

 



answered Nov 3 by avibootz
...