ceil
в C ++ происходит из стандартной библиотеки C.
Стандарт C говорит, что если платформа реализует арифметику IEEE-754, ceil( )
ведет себя так, как если бы ее аргумент был округлен до целого в соответствии с атрибутом округления IEEE-754 roundTowardPositive . Стандарт IEEE-754 гласит (пункт 6.3):
знак результата преобразований,
операция квантования,
roundToIntegral операций, а также
roundToIntegralExact является признаком
первый или единственный операнд.
Таким образом, знак результата всегда должен совпадать со знаком ввода. Для входных данных в диапазоне (-1,0)
это означает, что результат должен быть -0.0
.