Александр17.11.2005 10:46
... получить результат в дробном представлении и сколько значащих цифр после запятой можно получить?
Raul18.11.2005 21:38
Сколько потребуется, столько и можно получить :). Арифметика с фиксированной точкой отличается от целочисленной тем, что надо проводить нормализацию при умножении и делении (путем сдвига). Это можно запрограммировать как надстройку над классом.
Александр18.05.2006 13:51
Я понял, что класс работает только с целыми числами. Работает ли класс с дробными числами?
Raul22.05.2006 16:56
Напрямую не работает.
Александр25.10.2007 00:27
Хотелось бы узнать каким образом можно работать с дробными числами. Если возможно то с примерами.
Raul25.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 не потребуется.
Для написания ответа авторизуйтесь