Форум программистов, компьютерный форум, киберфорум
Наши страницы

Умещение диапазона в float - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указать значения аргумента, при которых функцию нельзя вычислить http://www.cyberforum.ru/cpp-beginners/thread1768528.html
Указать значения аргумента, при которых функцию нельзя вычислить.
C++ Описать структуру с именем STUDENT, содержащую следующие поля 1. Описать структуру с именем STUDENT, содержащую следующие поля: • NAME - фамилия и инициалы; • GROUP- номер группы; • SES- успеваемость (массив из пяти элементов). 2. Написать программу,... http://www.cyberforum.ru/cpp-beginners/thread1768523.html
C++ Детектор Кэнни (Двойная пороговая обработка)
здравствуйте. Подскажите как в двойной пороговой фильтрации указать верхний и нижний порог?
C++ Обработка файлов
Программа рассчитывает и показывает правильный результат через раз. Как я понял прога работает всегда НЕ правильно, возможно мне везет и иногда числа совпадают и дают нужный ответ, но не часто....
C++ как в Clion подключить glut http://www.cyberforum.ru/cpp-beginners/thread1768483.html
Добрый день. подскажите как в Clion подключить glut ?
C++ Минимизировать стоимость строительства дорог Нас толкоM не учили такоMу програMMированию, но препод дал такую задачку для решения: Три страны решили объединиться в союзное государство. Так как чиновникам предстоит часто ездить из одной... подробнее

Показать сообщение отдельно
Cend
2 / 2 / 0
Регистрация: 25.02.2013
Сообщений: 114

Умещение диапазона в float - C++

22.06.2016, 09:50. Просмотров 194. Ответов 1
Метки (Все метки)

Задано количество точек n, расположенных через равные интервалы. Необходимо вычислить диапазон float для данного количества точек, так, чтобы шаг был минимально возможный для точности float.
Мои размышления как реализовать через цикл:
Т.к. точность падает линейно, необходимо n раз, начинаю с 0.0 вызвать:
C++
1
2
float val = 0.0f;
for(int i=0;i<n;i++) val = std::nextafter(val, FLT_MAX);
И мы получим величину шага float между значением n и следующим значением:
C++
1
double step = val - std::nextafter(val, FLT_MAX);
Диапазон будет:
C++
1
double width = step*n;
Но нужно реализовать без использования цикла, подскажите как
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru