Как осуществить 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д