extra-bit
v2.3.0
Published
The bit is a basic unit of information in information theory, computing.
Downloads
241
Maintainers
Readme
The bit is a basic unit of information in information theory, computing. 📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs, 📘 Wiki.
The concept of a bit, which stands for binary digit, has been a
fundamental unit of information in the fields of information theory and
computing. Bitwise operations are used to manipulate and process data at the bit
level, and these operations are crucial for efficient programming in a variety
of domains, such as computer graphics and cryptography. 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 includes bit twiddling hacks by Sean Eron
Anderson and many others.
This package is available in Node.js and Web formats. To use it on the web,
simply use the extra_bit
global variable after loading with a <script>
tag from the jsDelivr CDN.
Stability: Experimental.
const xbit = require('extra-bit');
// import * as xbit from "extra-bit";
// import * as xbit from "https://unpkg.com/extra-bit/index.mjs"; (deno)
xbit.count(7);
// → 3 (111 ⇒ 3)
xbit.parity(8, 2);
// → 2 (10,00 ⇒ 10)
xbit.swap(6, 1, 0);
// → 5 (110 ⇒ 101)
xbit.reverse(0xFFFF0000);
// → 65535 (0x0000FFFF)
xbit.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. |