JavaScript/Objekte/BigInt/asIntN

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die statische Methode BigInt.asIntN dient dazu, die Größe eines BigInt-Wertes auf eine bestimmte Anzahl von Bits zu limitieren. Wenn der BigInt-Wert, auf den die Methode angewendet wird, mehr Bits benötigt als angegeben, werden nur die am wenigsten signifikanten Bits verwendet. Das höchstwertige Bit des Ergebnisses wird dabei als Vorzeichen aufgefasst, ist es 1, gilt die Zahl als negativ.

Syntax:

  let clippedValue = BigInt.asIntN(64, bigValue);

Der erste Parameter ist die gewünschte Bit-Anzahl und muss ein Number-Wert sein. Der zweite Wert ist der zu begrenzende BigInt-Wert.

Diese Methode ist vor allem zur Unterstützung der TypedArray-Implementierung BigInt64Array gedacht, womit sie erzwingen kann, dass die gespeicherten Werte 64-bittig bleiben.

Achtung!

Negative Zahlen werden im Zweierkomplement gespeichert, das heißt, dass ihre höchsten Bits alle den Wert 1 haben. Wenn Sie asIntN mit einem positiven BigInt-Wert aufrufen, der an der höchsten verbleibenden Bitposition zufällig den Bitwert 1 hat, erhalten Sie als Ergebnis eine negative Zahl.
Empfehlung: Wenn Sie eine BigInt-Zahl auf einen bestimmten Wertebereich begrenzen wollen, sollten Sie sie mit den Grenzwerten dieses Bereichs vergleichen und bei einem Überlauf die erforderlichen Maßnahmen programmieren.

Weblinks

MDN: BigInt.asIntN