LOGB
Section: Linux Programmer's Manual (3)
Updated: 2008-08-05
Index
JM Home Page
roff page
名前
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():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or
cc -std=c99
logbf(),
logbl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or
cc -std=c99
説明
これらの関数は、
x
の浮動小数点の内部表現から指数部を抽出し、浮動小数点数値として返す。
<float.h>
で定義されている整数定数
FLT_RADIX
は、システムの浮動小数点表現で使用されている基数を表す。
FLT_RADIX
が 2 の場合、
logb(x)
は
floor(log2(x))
と等しいが、後者の方がたぶん高速である。
x
が非正規化数の場合、
logb()
は
x
が正規化された場合の指数を返す。
返り値
成功すると、これらの関数は
x
の指数部を返す。
x
が NaN の場合、NaN が返される。
x
が 0 の場合、極エラー (pole error) が発生し、
各関数はそれぞれ
-HUGE_VAL,
-HUGE_VALF,
-HUGE_VALL
を返す。
x
が負の無限大か正の無限大の場合、正の無限大が返される。
エラー
これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は
math_error(7)
を参照のこと。
以下のエラーが発生する可能性がある。
- 極エラー (pole error): x が 0 である
-
0 による除算 (divide-by-zero) 浮動小数点例外
(FE_DIVBYZERO)
が上がる。
これらの関数は
errno
を設定しない。
準拠
C99, POSIX.1-2001.
関連項目
ilogb(3),
log(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 03:26:47 GMT, April 25, 2010