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);
// → -1Index
| 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. |
