BigUint — расширение jCjS: объектная обёртка над беззнаковым 64-битным целым числом quint64. Тип сохраняет большие неотрицательные значения без потери точности Number.
Предназначен для точной работы со значениями от 0 до 2⁶⁴−1, беззнаковыми идентификаторами, масками, счётчиками, BigUint64Array и полями DataView.
BigUint(value)
Функция вызывается без new. value — десятичная строка, Number, BigUint или BigInt. Для значений за
пределами безопасного диапазона Number обязательно используйте строку. Внутри строки допустим завершающий
символ n, но рекомендуемая форма — BigUint("123"). Вызов с new создаёт TypeError.
// Строковая форма повторяет безопасный способ создания большого целого из MDN.
var mask = BigUint("18446744073709551615");
var lowByte = mask.and(BigUint("255"));
post.log('' + lowByte.toString(16)); // ff
| Сигнатура | Описание |
|---|---|
| BigUint.ZERO, ONE, MIN, MAX | Объекты-константы: ZERO = MIN = 0, ONE = 1, MAX = 18446744073709551615. Только чтение. |
| int BITS | Разрядность значения: 64. Свойство конструктора, только чтение. |
| int BYTES | Размер значения: 8 байт. Свойство конструктора, только чтение. |
не имеет
| Сигнатура | Описание |
|---|---|
| bool isBigInt(value), bool isBigUint(value) | Проверить, является ли аргумент объектом BigInt или BigUint jCjS. Методы доступны у конструктора и экземпляра. |
| BigUint add(value), sub(value), mul(value) | Вернуть новое беззнаковое 64-битное значение — сумму, разность или произведение. |
| BigUint div(value) | Вернуть результат целочисленного деления. Деление на ноль создаёт RangeError. |
| BigUint mod(value) | Вернуть остаток от деления. Деление по модулю нуля создаёт RangeError. |
| BigUint shl(bits), BigUint shr(bits) | Вернуть результат беззнакового побитового сдвига влево или вправо. |
| BigUint and(value), or(value), xor(value) | Вернуть результат побитового И, ИЛИ либо исключающего ИЛИ. |
| BigUint not([value]) | Инвертировать все 64 бита текущего значения; если передан value, инвертировать value. |
| bool eq(value), ne(value), lt(value), le(value), gt(value), ge(value) | Сравнить текущее значение с value: равно, не равно, меньше, меньше либо равно, больше, больше либо равно. |
| String toString(int radix = 10) | Вернуть строку в системе счисления radix от 2 до 36. При недопустимом основании используется 10. |
| Number|String valueOf() | Вернуть Number, если значение представимо им точно; иначе десятичную строку. |
| QVariant toVariant() | Вернуть QVariant, сохраняющий исходное беззнаковое 64-битное значение. |
| Number|String toJSON() | Вернуть точное Number либо десятичную строку, пригодную для сериализации JSON. |