JavaScript/Objekte/BigInt/asUintN

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die statische Methode BigInt.asUintN 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. Der übergebene BigInt-Wert wird dabei wie ein vorzeichenloser Wert angesehen.

Syntax:

  let clippedValue = BigInt.asUintN(bits, 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 BigUint64Array 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 asUintN mit einem negativen BigInt-Wert aufrufen, der weniger Bits benötigt als von der Methode verlangt, wird er mit 1-Bits auf die angegebene Bitlänge aufgefüllt. Sie erhalten dadurch einen großen positiven BigInt-Wert.
Empfehlung: Wenn Sie eine BigInt-Zahl auf eine bestimmte Größe begrenzen wollen, sollten Sie sie mit dem Maximalwert dieser Größe vergleichen und bei einem Überlauf die erforderlichen Maßnahmen programmieren.

Weblinks

MDN: BigInt.asIntN