Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Тип данных c# с бесконечным кол-вом знаков после точки

Пётр Нагаев Ученик (108), на голосовании 6 месяцев назад
я изучаю c# и хочу сделать алгоритм (точнее уже сделал) который считает число Эйлера, ну так вот для этого мне нужен такой тип данных который хранил бы бесконечное кол-во чисел после запятой, может есть библиотека какая-нибудь в которой есть такой тип, если да то скажите пожалуйста
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445813) 7 месяцев назад
Компьютер - конечный автомат. Ничего бесконечного в нем нет по определению.
Из того, что тебе нужно:

  1. Есть библиотеки, которые считают с ЗАДАННОЙ точностью мантиссы. Например ExtendedNumerics.BigDecimal.
  2. Твое число - это сумма единиц, деленных на факториалы. Его можно выразить через обыкновенную дробь в любой конкрентый момент конечного времени. Напиши свой класс по работе с обыкновенными дробями на основе класса BigInteger библиотеки System.Numerics и считай на здоровье до достижения необходимой точности. Минус метода - чем больше будут дроби, тем длиннее будет поиск НОК для сложения дробей. Плюс - не будет накапливаться системная ошибка сложения, как в первом случае. Получив в конце концов некоторую охренительную дробь сможешь при помощи первой библиотеки вычислить значение с плавающей точкой.
А Мудрец (14803) 7 месяцев назад
Не имеет смысла. Для любых вычислений достаточно 8 знаков после запятой.
Почитай про числа Мерсенна. Сможешь найти такое число, получишь кучу денег.
Похожие вопросы