от
В C99 было добавлено раунда-к-целое число-тип функций, которые отсутствовали в С90. Одним из них является
lround
. Единственное отличие
lround(x)
от
(long)round(x)
заключается в том, что если бы результат был бы вне досягаемости для окончательного тип (
long
здесь), Бывший имеет неопределенное значение и возможные ошибки, в то время как последний имеет неопределенное поведение. Что заставляет меня задаться вопросом, что есть только
lround
и
lrint
, но не например,
lceil
или
lfloor
. С99 обоснование У5.Только 10 переговоры (в 7.12.9.5) о наименовании и типе параметров для двух (до
long long
версии) функции, упомянутые в стандарте, а не почему они были введены и были ли рассмотрены другие направления округления. Итак, что стало основанием для введения
lround
и
lrint
, но не
lceil
и
lfloor
в C99?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...