Как осуществить BigDouble? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте Я решил написать резиновый тип данных для дробных чисел. Я использовал 2 BigInteger'a (1ый - числа до запятой, 2ой - после запятой). Но я столкнулся с некоторыми проблемами: 1. Как осуществить деление, умножение и вычитание? Какая формула? (Для сложения, например мы разбиваем числа, например, 123 и 321 на и после чего мы все это складываем). Буду благодарен, если вы скинете ссылки на

нормальные

источники 2. Наверное, это очень глупо, но с классами я работаю впервые. Как мне присвоить самому моему "классу" какое либо значение либо присвоить чему либо значение класса. Объясню на примере. При работе с BigInteger'ом мы пишем :
BigInteger Bg1 = 1000;
int Integer1 =  Bg1;
В моей программе мне пришлось писать отдельный метод, благодаря которому надо писать
BigDouble Bd1 = new BigDouble();
Bd1.SetValue("число");
Как вы видите, для присваивания чисел требуется больше строк кода. А как выводить значения я что то вообще не пойму... Буду благодарен всем тем, кто помог или подсказал, как мне решить мои "проблемы"

Решение задачи: «Как осуществить BigDouble?»

textual
Листинг программы
struct BigDouble {
    private double _val;
 
    public BigDouble(double val) {
        _val = val;
    }
 
    public static implicit operator double(BigDouble val) {
        return val._val;
    }
 
    public static implicit operator BigDouble(double val) {
        return new BigDouble(val);
    }
}
 
 
//...
BigDouble bd = 9.0;
double d = bd;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы