Добавлено: 2005-11-17 10:46:33 Возможно ли ... | |
Зарегистрирован(а): 01.01.1970 Сообщений: 3 (просмотреть) |
... получить результат в дробном представлении и сколько значащих цифр после запятой можно получить? |
Ответить | Цитировать | |
Добавлено: 2005-11-18 21:38:33 | |
Raul Зарегистрирован(а): 17.03.2010 Сообщений: 101 (просмотреть) |
Сколько потребуется, столько и можно получить . Арифметика с фиксированной точкой отличается от целочисленной тем, что надо проводить нормализацию при умножении и делении (путем сдвига). Это можно запрограммировать как надстройку над классом. |
Ответить | Цитировать | |
Добавлено: 2006-05-18 13:51:02 | |
Зарегистрирован(а): 01.01.1970 Сообщений: 3 (просмотреть) |
Я понял, что класс работает только с целыми числами. Работает ли класс с дробными числами? |
Ответить | Цитировать | |
Добавлено: 2006-05-22 16:56:53 | |
Raul Зарегистрирован(а): 17.03.2010 Сообщений: 101 (просмотреть) |
Напрямую не работает. |
Ответить | Цитировать | |
Добавлено: 2007-10-25 00:27:27 | |
Зарегистрирован(а): 01.01.1970 Сообщений: 3 (просмотреть) |
Хотелось бы узнать каким образом можно работать с дробными числами. Если возможно то с примерами. |
Ответить | Цитировать | |
Добавлено: 2007-10-25 15:45:40 | |
Raul Зарегистрирован(а): 17.03.2010 Сообщений: 101 (просмотреть) |
Например, требуется перемножить числа с тремя десятичными цифрами после точки. 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 не потребуется. |
Ответить | Цитировать |