LINUX.ORG.RU

Автоматическое применение Big Int

 ,


0

1

Только в пайтоне числа автоматически становятся большими при необходимости? Есть ли еще языки с подобной возможностью? Я взял Julia для написания программы с вычислениями, но оказалось, что там нужно явно указывать использование BigInt. Мне кажется, что это неудобно, я же не знаю, какие числа захочу ввести в свою формулу?

Можешь сделать свой класс, зачем тут поддержка в самом языке? Ну или просто сделать функцию принимающую и то и другое...

stasolog
()

с этим в системы символьной математики, в универсальных яп неявное использование arbitary-precision - безумие, даже в питоне это только «трюк» для целых - 2.0 ** 1025 = OverflowError

anonymous
()

может тогда int не нужен,

а нужен флоат? И то как-то исходная задача Благородного Дона выглядит странно.

sshestov ★★
()

Большие целые для криптографии нужны и для матана. И ты не похож ни на критографа, ни на математика.

anonymous
()

Есть ли еще языки с подобной возможностью?

Common Lisp – новый, молодежный язык, бери его, еще никто не жаловался.

anonymous
()
Ответ на: комментарий от anonymous

А также все диалекты Scheme. Для вычислений ещё Haskell хорошо подходит, там тоже числа произвольной длины.

monk ★★★★★
()
Ответ на: комментарий от anonymous

даже в питоне это только «трюк» для целых - 2.0 ** 1025 = OverflowError

Там разве нет рациональных чисел? Если float возвести, то понятно что «бесконечность» будет. В нормальных языках можно писать вместо 2.1 ** 1025 рациональное выражение (21/10) ** 1025 и получать верный ответ:

Prelude Data.Ratio> (21 % 10)^1025

monk ★★★★★
()
Ответ на: комментарий от monk

я посмотрел racket, он не позволил получить случайное большое число, что необходимо для моей задачи, в итоге остановился на julia

LancerRevX
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.