Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       ceil, ceilf, ceill - 引数を下回らない最小の整数値

書式

       #include <math.h>

       double ceil(double x);
       float ceilf(float x);
       long double ceill(long double x);

       -lm でリンクする。

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       ceilf(), ceill():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

説明

       これらの関数は x より小さくない最小の整数値を返す。

       例えば、 ceil(0.5) は 1.0 であり、 ceil(-0.5) は 0.0 である。

返り値

       これらの関数は x を下回らない整数値を返す。

       x が整数、+0、-0、NaN、無限のいずれかの場合、 x そのものが返される。

エラー

       エラーは発生しない。 POSIX.1-2001 にはオーバーフローでの範囲エラー (range error) の 記載が
       ある。「注意」の節を参照のこと。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├─────────────────────────┼───────────────┼─────────┤
       │ceil(), ceilf(), ceill() │ Thread safety │ MT-Safe │
       └─────────────────────────┴───────────────┴─────────┘

準拠

       C99, POSIX.1-2001, POSIX.1-2008.

       double 版の関数は SVr4, 4.3BSD, C89 にも準拠している。

注意

       SUSv2 と  POSIX.1-2001  にはオーバーフローに関する記述があり、  オーバーフローの場合には、
       errnoERANGE  に設定するか、  FE_OVERFLOW 例外を発生することとされている。 実際のとこ
       ろ、どの現行のマシンでも結果がオーバーフローを起こすことはないので、  このエラー処理は意味
       がない。  (より正確に言うと、オーバーフローは指数部の最大値が 仮数部を表すビットの数より小
       さい場合にしか起こらない。 IEEE-754 規格の 32 ビットと 64 ビットの浮動小数では、  指数部の
       最大値はそれぞれ 128 と 1024 であり、 仮数部のビット数はそれぞれ 24 と 53 である。)

       これらの関数が返す整数値は整数型  (int,  long など) に格納するには大き過ぎるかもしれない。
       オーバーフローが起こった場合の結果は分からないので、    オーバーフローを避けるため、アプリ
       ケーションでは整数型に代入する前に 返された値の範囲確認を実行すべきである。

関連項目

       floor(3), lrint(3), nearbyint(3), rint(3), round(3), trunc(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

                                            2017-09-15                                    CEIL(3)