Как можно округлить число не прибегая к библиотеке cmath?
Вопрос: на входе имеем дробное число, которое необходимо округлить вниз и вверх. Как можно реализовать подобную вещь в с++? На просторах интернета не нашёл ничего похожего (либо плохо искал)
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Ну, ограничимся положительными значениями. Тогда в рамках представимости значений типами (бессмысленно пытаться округлять гугол с половиной...) можно попробовать так:
unsigned int Floor(double x)
{
return unsigned int(x);
}
unsigned int Ceil(double x)
{
return unsigned int (x) + (Floor(x) != x);
}
"По-моему, так" (с) Пух