在线文档教程
C++
数字 | Numerics

std::ceil

STD:Ceil

Defined in header
float ceil( float arg (1)
double ceil( double arg (2)
long double ceil( long double arg (3)
double ceil( Integral arg (4)(since C++11)

1-3%29计算最小整数值不小于arg...

4%29一组过载或接受任意参数的函数模板积分型等于2%29%28double29%。

参数

arg-floating point value

返回值

如果没有发生错误,则最小整数值不小于arg,那就是阿格,也是回的。

返回值

二次

二次

论辩

错误处理

错误按数学[医]错误处理...

如果实现支持ieee浮点算法%28IEC 60559%29,

  • 电流舍入方式没有效果。

  • 如果arg是±∞,它是未经修改的返回。

  • 如果arg是±0,它被返回,未经修改

  • 如果阿格是南,南就会被归还。

注记

FE_INEXACT可能为%28,但在舍入非整数有限值时,%27T是否需要提高%29。

最大的可表示浮点值是所有标准浮点格式的精确整数,因此此函数本身不会溢出,但是结果可能会溢出任何整数类型%28,包括std::intmax_t%29,存储在整数变量中。

这个函数%28用于双参数%29,除了不引发的自由之外,它的行为就好像%28一样。FE_INEXACT29%由。

二次

#include <cmath> #include <cfenv> #pragma STDC FENV_ACCESS ON double ceil(double x) { double result; int save_round = std::fegetround( std::fesetround(FE_UPWARD result = std::rint(x // or std::nearbyint std::fesetround(save_round return result; }

二次

二次

#include <cmath> #include <iostream> int main() { std::cout << std::fixed << "ceil(+2.4) = " << std::ceil(+2.4) << '\n' << "ceil(-2.4) = " << std::ceil(-2.4) << '\n' << "ceil(-0.0) = " << std::ceil(-0.0) << '\n' << "ceil(-Inf) = " << std::ceil(-INFINITY) << '\n'; }

二次

产出:

二次

ceil(+2.4) = 3.000000 ceil(-2.4) = -2.000000 ceil(-0.0) = -0.000000 ceil(-Inf) = -INF

二次

另见

floornearest integer not greater than the given value (function)
trunc (C++11)nearest integer not greater in magnitude than the given value (function)
roundlroundllround (C++11)(C++11)(C++11)nearest integer, rounding away from zero in halfway cases (function)
nearbyint (C++11)nearest integer using current rounding mode (function)
rintlrintllrint (C++11)(C++11)(C++11)nearest integer using current rounding mode with exception if the result differs (function)

c Ceil文档

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/数值/数学/ceil