Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. BigInt
  6. asIntN()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

BigInt.asIntN()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

Die statische MethodeBigInt.asIntN() kürzt einenBigInt-Wert auf die gegebene Anzahl am wenigsten signifikanter Bits und gibt diesen Wert als Vorzeichen-Integer zurück.

Probieren Sie es aus

const I64_CEIL = 2n ** 63n;console.log(BigInt.asIntN(64, I64_CEIL - 1n));// 9223372036854775807n (2n ** 64n - 1n, the maximum non-wrapping value)console.log(BigInt.asIntN(64, I64_CEIL));// -9223372036854775808n (wraps to min value)console.log(BigInt.asIntN(64, I64_CEIL + 1n));// -9223372036854775807n (min value + 1n)console.log(BigInt.asIntN(64, I64_CEIL * 2n));// 0n (wrapped around to zero)console.log(BigInt.asIntN(64, -I64_CEIL * -42n));// 0n (also wraps on negative multiples)

Syntax

js
BigInt.asIntN(bits, bigint)

Parameter

bits

Die Anzahl der Bits, die für den zurückgegebenen BigInt verfügbar sind. Sollte eine ganze Zahl zwischen 0 und 253 - 1 sein, einschließlich.

bigint

Der BigInt-Wert, der gekürzt wird, um in die angegebenen Bits zu passen.

Rückgabewert

Der Wert vonbigint modulo2 ** bits, als Vorzeichen-Integer.

Ausnahmen

RangeError

Wird ausgelöst, wennbits negativ oder größer als 253 - 1 ist.

Beschreibung

Die MethodeBigInt.asIntN kürzt einenBigInt-Wert auf die gegebene Anzahl von Bits und interpretiert das Ergebnis als Vorzeichen-Integer. Zum Beispiel wird beiBigInt.asIntN(3, 25n) der Wert25n auf1n gekürzt:

25n = 00011001 (base 2)          ^=== Use only the three remaining bits===>       001 (base 2) = 1n

Wenn das führende Bit der verbleibenden Zahl1 ist, ist das Ergebnis negativ. Zum Beispiel ergibtBigInt.asIntN(4, 25n)-7n, da1001 die Kodierung von-7 im Zweierkomplement ist:

25n = 00011001 (base 2)         ^==== Use only the four remaining bits===>      1001 (base 2) = -7n

Hinweis:BigInt-Werte werden immer als Zweierkomplement binär kodiert.

Im Gegensatz zu ähnlichen Sprach-APIs wieNumber.prototype.toExponential(), istasIntN eine statische Eigenschaft vonBigInt, daher wird sie immer alsBigInt.asIntN() verwendet, und nicht als Methode eines BigInt-Werts. Die Bereitstellung vonasIntN() als "Standardbibliotheksfunktion" ermöglichtInteroperabilität mit asm.js.

Beispiele

Im Bereich von 64 Bit bleiben

Die MethodeBigInt.asIntN() kann nützlich sein, um im Bereich der 64-Bit-Arithmetik zu bleiben.

js
const max = 2n ** (64n - 1n) - 1n;BigInt.asIntN(64, max); // 9223372036854775807nBigInt.asIntN(64, max + 1n); // -9223372036854775808n// negative because the 64th bit of 2^63 is 1

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-bigint.asintn

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp