| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asIntN | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit September 2020 browserbergreifend verfgbar.
Die statische Methode BigInt.asIntN() krzt einen BigInt-Wert auf die angegebene Anzahl der am wenigsten signifikanten Bits und gibt diesen Wert als vorzeichenbehaftete Ganzzahl zurck.
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)
BigInt.asIntN(bits, bigint)
bitsDie Anzahl der Bits, die fr die zurckgegebene BigInt verfgbar ist. Sollte eine Ganzzahl zwischen 0 und 253 - 1 sein, inklusive.
bigintDer BigInt-Wert, der gekrzt werden soll, um in die bereitgestellten Bits zu passen.
Ein BigInt, der die Bit-Darstellung von bigint enthlt, gekrzt auf bits Bits, interpretiert als vorzeichenbehaftete Ganzzahl.
RangeErrorWird ausgelst, wenn bits negativ oder grer als 253 - 1 ist.
Die Methode BigInt.asIntN krzt einen BigInt-Wert auf die angegebene Anzahl von Bits und interpretiert das Ergebnis als vorzeichenbehaftete Ganzzahl. Beispielsweise wird bei BigInt.asIntN(3, 25n) der Wert 25n auf 1n gekrzt:
25n = 00011001 (base 2)
^=== Use only the three remaining bits
===> 001 (base 2) = 1n
Wenn das fhrende Bit der verbleibenden Zahl 1 ist, ist das Ergebnis negativ. Zum Beispiel ergibt BigInt.asIntN(4, 25n) -7n, da 1001 die Codierung von -7 im Zweierkomplement darstellt:
25n = 00011001 (base 2)
^==== Use only the four remaining bits
===> 1001 (base 2) = -7n
Hinweis:
BigInt-Werte sind immer im Zweierkomplement in Binr codiert.
Im Gegensatz zu hnlichen APIs in anderen Sprachen wie Number.prototype.toExponential() ist asIntN eine statische Eigenschaft von BigInt, daher verwenden Sie sie immer als BigInt.asIntN() und nicht als Methode eines BigInt-Wertes. Die Bereitstellung von asIntN() als "Standardbibliotheksfunktion" ermglicht die Interoperabilitt mit asm.js.
Die Methode BigInt.asIntN() kann ntzlich sein, um im Bereich der 64-Bit-Arithmetik zu bleiben.
const max = 2n ** (64n - 1n) - 1n;
BigInt.asIntN(64, max); // 9223372036854775807n
BigInt.asIntN(64, max + 1n); // -9223372036854775808n
// negative because the 64th bit of 2^63 is 1
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-bigint.asintn |
BigIntObject/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |