Baseline Widely available
Die statische Methode BigInt.asUintN()
schneidet einen BigInt
-Wert auf die angegebene Anzahl an niederwertigen Bits ab und gibt diesen Wert als vorzeichenlose Ganzzahl zurück.
const U64_CEIL = 2n ** 64n;
console.log(BigInt.asUintN(64, U64_CEIL - 1n));
// 18446744073709551615n (2n ** 64n - 1n, the maximum non-wrapping value)
console.log(BigInt.asUintN(64, U64_CEIL));
// 0n (wraps to zero)
console.log(BigInt.asUintN(64, U64_CEIL + 1n));
// 1n
console.log(BigInt.asUintN(64, U64_CEIL * 2n));
// 0n (wraps on multiples)
console.log(BigInt.asUintN(64, U64_CEIL * -42n));
// 0n (also wraps on negative multiples)
Syntax
BigInt.asUintN(bits, bigint)
Parameter
bits
Die Anzahl der Bits, die für das zurückgegebene BigInt verfügbar sind. Es sollte eine Ganzzahl zwischen 0 und 253 - 1 sein, einschlieÃlich.
bigint
Der BigInt-Wert, der abgeschnitten werden soll, um in die angegebenen Bits zu passen.
Der Wert von bigint
modulo 2 ** bits
, als vorzeichenlose Ganzzahl.
RangeError
Wird ausgelöst, wenn bits
negativ oder gröÃer als 253 - 1 ist.
Die Methode BigInt.asUintN
schneidet einen BigInt
-Wert auf die angegebene Anzahl von Bits ab und interpretiert das Ergebnis als vorzeichenlose Ganzzahl. Vorzeichenlose Ganzzahlen haben keine Vorzeichenbits und sind immer nicht-negativ. Zum Beispiel wird bei BigInt.asUintN(4, 25n)
der Wert 25n
auf 9n
gekürzt:
25n = 00011001 (base 2) ^==== Use only the four remaining bits ===> 1001 (base 2) = 9n
Hinweis: BigInt
-Werte werden stets als Zweierkomplement im Binärformat kodiert.
Im Gegensatz zu ähnlichen API-Funktionen in anderen Sprachen wie Number.prototype.toExponential()
ist asUintN
eine statische Eigenschaft von BigInt
, sodass Sie sie immer als BigInt.asUintN()
und nicht als Methode eines BigInt-Werts verwenden. Das Bereitstellen von asUintN()
als "Standard-Bibliotheksfunktion" ermöglicht die Interoperabilität mit asm.js.
Die Methode BigInt.asUintN()
kann nützlich sein, um im Bereich der 64-Bit-Arithmetik zu bleiben.
const max = 2n ** 64n - 1n;
BigInt.asUintN(64, max); // 18446744073709551615n
BigInt.asUintN(64, max + 1n); // 0n
// zero because of overflow: the lowest 64 bits are all zeros
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4