Класс BigInt
Целочисленное значение произвольно большой величины.
Большие целые числа имеют знак и могут содержать произвольное количество значащих цифр, ограниченное только объёмом памяти.
Чтобы создать большое целое число из указанного числа, используйте BigInt.from.
var bigInteger = BigInt.from(-1); // -1 bigInteger = BigInt.from(0.9999); // 0 bigInteger = BigInt.from(-10.99); // -10 bigInteger = BigInt.from(0x7FFFFFFFFFFFFFFF); // 9223372036854775807 bigInteger = BigInt.from(1e+30); // 1000000000000000019884624838656
Чтобы разобрать большое целое число из строки, используйте parse или tryParse.
var value = BigInt.parse('0x1ffffffffffffffff'); // 36893488147419103231
value = BigInt.parse('12345678901234567890'); // 12345678901234567890 Чтобы проверить, можно ли представить большое целое число как int без потери точности, используйте isValidInt.
print(bigNumber.isValidInt); // false
Чтобы преобразовать большое целое число в int, используйте toInt. Чтобы преобразовать большое целое число в double, используйте toDouble.
var bigValue = BigInt.from(10).pow(3); print(bigValue.isValidInt); // true print(bigValue.toInt()); // 1000 print(bigValue.toDouble()); // 1000.0
См. также:
- int: целое число.
- double: число с плавающей точкой двойной точности.
- num: суперкласс для int и double.
- Числа в Обзоре языка Dart.
- Реализуемые типы
Конструкторы
- BigInt.from(num value) фабричный
- Создаёт большое целое число из указанного
valueчисла.
Свойства
- bitLength → int только для чтения
- Возвращает минимальное количество битов, необходимое для хранения этого большого целого числа.
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- isEven → bool только для чтения
- Является ли это большое целое число чётным.
- isNegative → bool только для чтения
- Является ли это число отрицательным.
- isOdd → bool только для чтения
- Является ли это большое целое число нечётным.
- isValidInt → bool только для чтения
- Можно ли представить это большое целое число как
intбез потери точности. - runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
- sign → int только для чтения
- Возвращает знак этого большого целого числа.
Методы
- abs(
) → BigInt - Возвращает абсолютное значение этого целого числа.
- compareTo(
BigInt other) → int переопределение - Сравнивает это значение с
other. - gcd(
BigInt other) → BigInt - Возвращает наибольший общий делитель этого большого целого числа и
other. - modInverse(
BigInt modulus) → BigInt - Возвращает мультипликативную обратную величину этого большого целого числа по модулю
modulus. - modPow(
BigInt exponent, BigInt modulus) → BigInt - Возвращает это целое число в степени
exponentпо модулюmodulus. - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- pow(
int exponent) → BigInt - Возвращает
thisв степениexponent. - remainder(
BigInt other) → BigInt - Возвращает остаток от деления
thisнаotherс отбрасыванием дробной части. - toDouble(
) → double - Возвращает это значение BigInt как double.
- toInt(
) → int - Возвращает это значение BigInt как int.
- toRadixString(
int radix) → String - Преобразует это значение в строковое представление в указанной системе счисления
radix. - toSigned(
int width) → BigInt - Возвращает младшие
widthбитов этого целого числа, распространяя старший сохранённый бит до знака. Это эквивалентно усечению значения доwidthбитов с использованием знакового представления в дополнительном коде. Возвращённое значение имеет одинаковые значения битов во всех позициях вышеwidth. - toString(
) → String переопределение - Возвращает строковое представление этого целого числа.
- toUnsigned(
int width) → BigInt - Возвращает младшие
widthбитов этого большого целого числа как неотрицательное число (то есть беззнаковое представление). Возвращённое значение содержит нули во всех позициях битов вышеwidth.
Операторы
- operator %(
BigInt other) → BigInt - Оператор евклидова деления по модулю.
- operator &(
BigInt other) → BigInt - Побитовый оператор И.
- operator *(
BigInt other) → BigInt - Умножает
otherна это большое целое число. - operator +(
BigInt other) → BigInt - Прибавляет
otherк этому большому целому числу. - operator -(
BigInt other) → BigInt - Вычитает
otherиз этого большого целого числа. - operator /(
BigInt other) → double - Оператор деления с результатом типа double.
- operator <(
BigInt other) → bool - Является ли это большое целое число численно меньше
other. - operator <<(
int shiftAmount) → BigInt - Сдвигает биты этого целого числа влево на
shiftAmount. - operator <=(
BigInt other) → bool - Является ли
otherчисленно больше этого большого целого числа. - operator ==(
Object other) → bool унаследовано - Оператор равенства.
- operator >(
BigInt other) → bool - Является ли это большое целое число численно больше
other. - operator >=(
BigInt other) → bool - Является ли
otherчисленно меньше этого большого целого числа. - operator >>(
int shiftAmount) → BigInt - Сдвигает биты этого целого числа вправо на
shiftAmount. - operator ^(
BigInt other) → BigInt - Побитовый оператор исключающего ИЛИ.
- operator unary-(
) → BigInt - Возвращает отрицательное значение этого целого числа.
- operator |(
BigInt other) → BigInt - Побитовый оператор ИЛИ.
- operator ~(
) → BigInt - Побитовый оператор отрицания.
- operator ~/(
BigInt other) → BigInt - Оператор целочисленного деления с отбрасыванием дробной части.
Статические свойства
- one → BigInt только для чтения
- Большое целое число со значением 1.
- two → BigInt только для чтения
- Большое целое число со значением 2.
- zero → BigInt только для чтения
- Большое целое число со значением 0.
Статические методы
- parse(
String source, {int? radix}) → BigInt - Разбирает
sourceкак, возможно, знаковый целочисленный литерал и возвращает его значение. - tryParse(
String source, {int? radix}) → BigInt? - Разбирает
sourceкак, возможно, знаковый целочисленный литерал и возвращает его значение.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/BigInt-class.html