Класс BigInt
Целое число произвольной длины.
Целые числа BigInt имеют знак и могут иметь произвольное количество значащих цифр, ограниченное только объемом памяти.
Для создания целого числа 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 Для проверки, можно ли представить целое число BigInt как int без потери точности, используйте isValidInt.
print(bigNumber.isValidInt); // false
Для преобразования целого числа BigInt в int используйте toInt. Для преобразования целого числа BigInt в 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) factory
- Создаёт целое число BigInt из заданного
valueчисла.
Свойства
- bitLength → int только для чтения
- Возвращает минимальное количество битов, необходимое для хранения этого целого числа BigInt.
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- isEven → bool только для чтения
- Является ли это целое число BigInt чётным.
- isNegative → bool только для чтения
- Является ли это число отрицательным.
- isOdd → bool только для чтения
- Является ли это целое число BigInt нечётным.
- isValidInt → bool только для чтения
- Можно ли представить это целое число BigInt как
intбез потери точности. - runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
- sign → int только для чтения
- Возвращает знак этого целого числа BigInt.
Методы
- abs(
) → BigInt - Возвращает абсолютное значение этого целого числа.
- compareTo(
BigInt other) → int переопределено - Сравнивает это с
other. - gcd(
BigInt other) → BigInt - Возвращает наибольший общий делитель этого целого числа BigInt и
other. - modInverse(
BigInt modulus) → BigInt - Возвращает модулярно обратную величину этого целого числа 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 - Преобразует this в строковое представление в заданном
radix. - toSigned(
int width) → BigInt - Возвращает наименее значащие
widthбита этого целого числа, расширяя самый высокий сохранённый бит до знака. Это то же самое, что усечение значения для соответствияwidthбитам с использованием представления со знаком 2-дополнительных. Возвращаемое значение имеет то же битовое значение во всех позициях, более высоких, чемwidth. - toString(
) → String переопределено - Возвращает строковое представление этого целого числа.
- toUnsigned(
int width) → BigInt - Возвращает наименее значащие
widthбита этого целого числа BigInt как неотрицательное число (т. е. представление без знака). Возвращаемое значение имеет нули во всех позициях битов, более высоких, чемwidth.
Операторы
- operator %(
BigInt other) → BigInt - Оператор евклидова модуля.
- operator &(
BigInt other) → BigInt - Битовый оператор И.
- operator *(
BigInt other) → BigInt - Умножает
otherна это целое число BigInt. - operator +(
BigInt other) → BigInt - Складывает
otherк этому целому числу BigInt. - operator -(
BigInt other) → BigInt - Вычитает
otherиз этого целого числа BigInt. - operator /(
BigInt other) → double - Оператор деления с плавающей точкой.
- operator <(
BigInt other) → bool - Является ли это целое число BigInt меньше, чем
other. - operator <<(
int shiftAmount) → BigInt - Сдвигает биты этого целого числа влево на
shiftAmount. - operator <=(
BigInt other) → bool - Является ли
otherбольше, чем это целое число BigInt. - operator ==(
Object other) → bool унаследованное - Оператор равенства.
- operator >(
BigInt other) → bool - Является ли это целое число BigInt больше, чем
other. - operator >=(
BigInt other) → bool - Является ли
otherменьше, чем это целое число BigInt. - 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.18.5/dart-core/BigInt-class.html