Я изо всех сил пытаюсь понять, как правильно использовать BigInt
. Мне кажется, что нужно использовать BigInt
, когда Int64
или Int128
недостаточно, и, по-видимому, BigInt
использует арифметику произвольной точности (о которой я ничего не знаю).
Допустим, я хочу вычислить факториал некоторого большого числа, например. 30. Я не знаю, сколько битов требуется для хранения factorial(30)
, но оба
test = Int128
test = factorial(30)
а также
test = BigInt
test = factorial(30)
выдает -8764578968847253504
, что явно неверно.
Согласно документации Julia lang, кажется, что для этого типа (BigInt) определены обычные математические операторы, а результаты повышаются до BigInt
. Поэтому я не вижу, что я делаю неправильно, я явно что-то неправильно понял. Надеюсь, у кого-то из вас есть объяснение для меня :)
PS: я использую 64-битную версию Windows 7, если это что-то говорит