Rechercher une page de manuel
logb
Langue: ja
Version: 2007-07-26 (fedora - 25/11/07)
Section: 3 (Bibliothèques de fonctions)
名前
logb, logbf, logbl - 浮動小数点数の指数を取得する書式
#include <math.h>double logb(double x);
float logbf(float x);
long double logbl(long double x);
-lm でリンクする。
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
logb(), logbf(), logbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or cc -std=c99
説明
これらの関数は x の指数を抽出し、浮動小数点数として返す。 FLT_RADIX が 2 の場合、 logb(x) は floor(log2(x)) と等しいが、後者の方がたぶん高速である。x が正規化されていない場合、 logb() は x が正規化された場合の指数を返す。
x が 0 の場合、-HUGE_VAL, -HUGE_VALF, -HUGE_VALL がそれぞれ返されて、極 (pole) によるエラーが起きる。 x が無限大の場合、正の無限大が返される。 x が NaN の場合、NaN が返される。
エラー
エラーをチェックするためには、これらの関数を呼び出す前に errno を 0 に設定し、 feclearexcept(FE_ALL_EXCEPT) を呼び出す。 これらの関数から返った後で、 errno が 0 以外または fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) が 0 以外になっている場合は、エラーが起きている。エラーが起きていて、かつ (math_errhandling & MATH_ERRNO) が 0 以外の場合、 errno が ERANGE に設定される。 エラーが起きていて、かつ (math_errhandling & MATH_ERREXCEPT) が 0 以外の場合、0 で割ったことによる浮動小数点数の例外が発生する。
x が 0 の場合、極によるエラーが起きる。
準拠
C99関連項目
log(3), ilogb(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre