JSPM

  • Created
  • Published
  • Downloads 22
  • Score
    100M100P100Q76816F
  • License MIT

A collection of common bitwise operations.

Package Exports

  • extra-bit

Readme

A collection of common bitwise operations.
📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs, 📘 Wiki.

The bit is a basic unit of information in information theory, computing. This package includes bit twiddling hacks by Sean Eron Anderson and many others. JavaScript converts a Number (a 64-bit floating point number) to a 32-bit integer when bitwise operators (such as |) are applied. All bitwise operations are performed on 32-bit integers.

This package is available in Node.js and Web formats. The web format is exposed as extra_bit standalone variable and can be loaded from jsDelivr CDN.

Stability: Experimental.


const bit = require('extra-bit');
// import * as bit from "extra-bit";
// import * as bit from "https://unpkg.com/extra-bit/index.mjs"; (deno)

bit.count(7);
// → 3 (111 ⇒ 3)

bit.parity(8, 2);
// → 2 (10,00 ⇒ 10)

bit.swap(6, 1, 0);
// → 5 (110 ⇒ 101)

bit.reverse(0xFFFF0000);
// → 65535 (0x0000FFFF)

bit.signExtend(15, 4);
// → -1


Index

Property Description
get Get bits at specified index.
getAs Get bits as per mask.
set Set bits at specified index.
setAs Set bits as per mask.
toggle Toggle bits at specified index.
toggleAs Toggle bits as per mask.
swap Swap bit sequences at specified indices.
scan Find index of first set bit from LSB.
scanReverse Find index of first set bit from MSB.
count Count bits set.
parity Calculate n-bit parity.
rotate Rotate bits by a certain amount.
reverse Reverse all bits.
merge Merge bits as per mask.
interleave Interleave bits of two int16s.
signExtend Sign extend variable bit-width integer.


References




DOI