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%28double
29%。
参数
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_INEXACT
29%由。
二次
#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
二次
另见
floor | nearest 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。