Как вы делаете математику (или математику) с числами больше, чем MaxValue в C#?
Возможный дубликат:
Большие целые числа в C#
Я хочу иметь возможность обрабатывать произвольно большие числа в C#.
Я могу жить только с целыми числами.
Существуют ли установленные алгоритмы для такого рода вещей?
Или есть хорошая сторонняя библиотека?
Я мог бы рассмотреть вопрос об изменении языка, если на самом деле нет хорошего способа сделать это в C#.
Спасибо за любую помощь / предложения.
5 ответов
Кто-то сделал класс BigInteger в C# в кодовом проекте C# BigInteger Class. Стоит проверить.
И образец общего алгоритма можно найти по адресу: Re: Привет-преклимат математики для Visual Studio C#? (Это сообщение внизу страницы с фрагментом кода)
Как уже упоминалось, существуют различные сторонние реализации класса BigInteger. Кроме того, C# 4.0 будет получать собственный класс BigInteger в CLR.
Если вам просто нужны очень большие числа, вы можете использовать long
(64-разрядный) или даже decimal
(128-битная с плавающей точкой).
Если вам нужны значения больше 9223372036854775807 (long
) или 79228162514264337593543950335 (decimal
), то вам нужно игнорировать этот ответ.