Как вы делаете математику (или математику) с числами больше, чем MaxValue в C#?

Возможный дубликат:
Большие целые числа в C#

Я хочу иметь возможность обрабатывать произвольно большие числа в C#.
Я могу жить только с целыми числами.

Существуют ли установленные алгоритмы для такого рода вещей?
Или есть хорошая сторонняя библиотека?

Я мог бы рассмотреть вопрос об изменении языка, если на самом деле нет хорошего способа сделать это в C#.

Спасибо за любую помощь / предложения.

5 ответов

Решение

Кто-то сделал класс BigInteger в C# в кодовом проекте C# BigInteger Class. Стоит проверить.

И образец общего алгоритма можно найти по адресу: Re: Привет-преклимат математики для Visual Studio C#? (Это сообщение внизу страницы с фрагментом кода)

Возможно, вы захотите проверить библиотеки типа Big Num. В C# наиболее популярными являются: IntX и W3b.Sine, плюс они оба с открытым исходным кодом.

Как уже упоминалось, существуют различные сторонние реализации класса BigInteger. Кроме того, C# 4.0 будет получать собственный класс BigInteger в CLR.

Если вам просто нужны очень большие числа, вы можете использовать long (64-разрядный) или даже decimal (128-битная с плавающей точкой).

Если вам нужны значения больше 9223372036854775807 (long) или 79228162514264337593543950335 (decimal), то вам нужно игнорировать этот ответ.

Другие вопросы по тегам