Гуляю я по улице, и вдруг птичка подлетает и шепчет на ухо: "big integer хранит uint[] разрядов". Тут я и задумался. Разрядов то много, но их ограниченное количество, т. к. длина массива задаётся 32 битами. Получается, что все-таки существует какое-то ограничение на big ibnteger в с#?
Шарпер, делаю игру. Ничего особенного, просто бесконечная генерация. И телепорты на большие расстояния. Хочется сделать действительно большие расстояния и бесконечную генерацию. Естественно, в оперативке это не хранится.
Пришёл к выводу, что проще написать свою реализацию бесконечно большого числа.
только мельком видел, в детали не вникал, тем не менее, вдруг что то вам подойдет https://github.com/devoyster/IntXLib (но если автор тоже на [] опирался, то вряд ли конечно)
рекурсия хорошо, но не всегда. когда есть хорошо видимые критерии "стоп!" ... а еще круче, когда язык поддерживает хвостовую рекурсию.. но у вас в теге C#.. ;))
BigIntegerинициализируется массивом byte[]из этого я делаю вывод, что пока у системы есть место в RAM мы можем инициализировать бесконечно большой BigInteger.
Как результатBigInteger будет бесконечым, пока у нас будет бесконечно большая память.