Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Перевод чисел в формат с фиксированной точкой |
Автор: Kefir 11.11.2004, 20:45 |
Задача заключается в переводе чисел из стандиртного вида в обычный (т.е. из 1,2335*10^3 получить 1233,5) + округление Дана мантисса (1<=|a|<10), дана экспонента (b<=200), дано число k, определяющее округление (округление до 10^k) Хорошо бы соображения какие-то трезвые, а то я совсем апутался уже. А если примерик на С++ будет - я буду без ума от счастья |
Автор: podval 11.11.2004, 21:04 |
Модератор: Название темы должно отражать ее суть! Потрудитесь придумывать сами заголовки для тем! |
Автор: maxim1000 12.11.2004, 00:32 | ||||
ну так в чем проблема?
звучит ![]() |
Автор: val 12.11.2004, 10:32 |
maxim1000, а почему у тебя результат типа int. Мне кажется, что double должен... |
Автор: podval 12.11.2004, 11:18 |
Кажись, по условию задачи надо результат выдавать так: целая часть, дробная часть и округление. Все три могут быть int. |
Автор: val 12.11.2004, 11:30 | ||
Вроде наоборот, целая часть, дробная часть и округление - входные данные, выход - результирующее число действительного типа... |
Автор: maxim1000 12.11.2004, 11:36 | ||
упс... не заметил k... ну тогда можно после подсчета переменной result сделать так:
и возвращать, конечно, сам result |
Автор: podval 12.11.2004, 12:04 | ||||
Нет, дано: мантисса, экспонента, округление. Надо получить: целую часть и дробную часть с учетом округления. Видимо, вывести результат надо как double, а так интовые вещи получаются. Вот для наглядности: http://sevntu.com.ua/conference/virt/Materials/Shkil/text1/tema1/img/13grid2.gif http://sevntu.com.ua/conference/virt/Materials/Shkil/text1/tema1/img/13grid1.gif |
Автор: Kefir 12.11.2004, 17:30 |
Немного проясню ситуацию на примерах: 1. дано: 1,265387 * 10^4 k = 2 решеие: 1. 1,265387 * 10^4 = 12653,87 2. k=2 -> округляем до 10^k, т.е. до сотен: 12653,87 -> 12700 Ответ: 12700 2. дано: 1,265387123 * 10^4 k = -2 решеие: 1. 1,265387123 * 10^4 = 12653,87123 2. k=-2 -> округляем до 10^k, т.е. до сотЫХ: 12653,87123 -> 12653,87 Ответ: 12653,87 2. дано: 1,86 * 10^-2 k = -2 решеие: 1. 1,86 * 10^-2 = 0,0186 2. k=-2 -> округляем до 10^k, т.е. до сотЫХ: 0,0186 -> 0,02 Ответ: 0,02 Щас буду пробовать решать 6) |
Автор: Kefir 12.11.2004, 17:44 |
Кстати, во входящем файле мантисса записана не через точку, а через Запятую... и в выходной файл надо вывести через запятую... |