The BigInt.asIntN
static method is used to wrap a BigInt value to a signed integer between -2width-1 and 2width-1-1.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
BigInt.asIntN(width, bigint);
Parameters
width
- The amount of bits available for the integer size.
bigint
- The integer to clamp to fit into the supplied bits.
Returns
The value of bigint
modulo 2width
as a signed integer.
Examples
Staying in 64-bit ranges
The BigInt.asIntN()
method can be useful to stay in the range of 64-bit arithmetic.
const max = 2n ** (64n - 1n) - 1n; BigInt.asIntN(64, max); // ↪ 9223372036854775807n BigInt.asIntN(64, max + 1n); // ↪ -9223372036854775807n // negative because of overflow
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'BigInt.asIntN()' in that specification. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
asIntN | Chrome Full support 67 | Edge Full support 79 | Firefox Full support 68 | IE No support No | Opera Full support 54 | Safari No support No | WebView Android Full support 67 | Chrome Android Full support 67 | Firefox Android Full support 68 | Opera Android Full support 48 | Safari iOS No support No | Samsung Internet Android Full support 9.0 | nodejs Full support 10.4.0 |
Legend
- Full support
- Full support
- No support
- No support