Как можно округлить число не прибегая к библиотеке cmath?

Вопрос: на входе имеем дробное число, которое необходимо округлить вниз и вверх. Как можно реализовать подобную вещь в с++? На просторах интернета не нашёл ничего похожего (либо плохо искал)


Ответы (1 шт):

Автор решения: Harry

Ну, ограничимся положительными значениями. Тогда в рамках представимости значений типами (бессмысленно пытаться округлять гугол с половиной...) можно попробовать так:

unsigned int Floor(double x)
{
    return unsigned int(x);
}

unsigned int Ceil(double x)
{
    return unsigned int (x) + (Floor(x) != x);
}

"По-моему, так" (с) Пух

→ Ссылка