Возможно ли ...

Александр
17.11.2005 10:46

... получить результат в дробном представлении и сколько значащих цифр после запятой можно получить?
Raul
18.11.2005 21:38
Сколько потребуется, столько и можно получить :). Арифметика с фиксированной точкой отличается от целочисленной тем, что надо проводить нормализацию при умножении и делении (путем сдвига). Это можно запрограммировать как надстройку над классом.

Александр
18.05.2006 13:51
Я понял, что класс работает только с целыми числами. Работает ли класс с дробными числами?

Raul
22.05.2006 16:56
Напрямую не работает.

Александр
25.10.2007 00:27
Хотелось бы узнать каким образом можно работать с дробными числами. Если возможно то с примерами.

Raul
25.10.2007 15:45
Например, требуется перемножить числа с тремя десятичными цифрами после точки.
cBigNumber a=cBigNumber ("123000", 10); // 123.000
cBigNumber b=cBigNumber ("456789", 10); // 456.789
c = a * b / 1000; // 123.000 * 456.789
cout << (c / 1000) << '.' << (c % 1000);
d = (c * 1000) / b; // 123.000
cout << (d / 1000) << '.' << (d % 1000);
При сложении и вычитании коррекция на 1000 не потребуется.

Для написания ответа авторизуйтесь

Дизайн и программирование N-Studio
Любая перепечатка возможна только при выполнении условий.
Несанкционированное использование материалов запрещено. Все права защищены
©