ILOGB

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

ilogb, ilogbf, ilogbl - 浮動小数点数の指数部を整数として取得する  

書式

#include <math.h>

int ilogb(double x);
int ilogbf(float x);
int ilogbl(long double x);

-lm でリンクする。

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

ilogb():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    || _XOPEN_SOURCE >= 500
    || /* Since glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

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

説明

これらの関数は引数の指数部を符号付き整数として返す。 エラーが起らなかった場合、これらの関数は、対応する logb(3) 関数を int でキャストしたものと等価である。  

返り値

成功すると、これらの関数は x の指数部を符号付き整数として返す。

x がゼロの場合、領域エラー (domain error) が発生し、 FP_ILOGB0 が返される。

x が NaN の場合、領域エラー (domain error) が発生し、 FP_ILOGBNAN が返される。

x が負の無限大か正の無限大の場合、 領域エラー (domain error) が発生し、 INT_MAX が返される。  

エラー

これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は math_error(7) を参照のこと。

以下のエラーが発生する可能性がある。

領域エラー: x が 0 か NaN
不正 (invalid) 浮動小数点例外 (FE_INVALID) が上がり、 errno に EDOM が設定される (ただし、「バグ」を参照)。
領域エラー (domain error): x が無限大である
不正 (invalid) 浮動小数点例外 (FE_INVALID) が上がり、 errno に EDOM が設定される (ただし、「バグ」を参照)。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
ilogb(), ilogbf(), ilogbl() Thread safety MT-Safe
 

準拠

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

バグ

バージョン 2.16 より前では、これらの関数の glibc 実装には以下のバグが存在した。
*
x が 0 か NaN の場合の領域エラーで、errno が設定されなかったり、(アーキテクチャーによっては) 浮動小数点例外が上がらなかった。
*
x が無限大の場合の領域エラーで、errno が設定されず、浮動小数点例外が上がらなかった。
 

関連項目

log(3), logb(3), significand(3)  

この文書について

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

関連キーワード

領域   浮動   domain   無限大   小数点   バグ   指数   整数   ilogb   ilogbf   ilogbl   double   Since   versions   符号   不正   invalid   小数   点数   math   float   long   検査   マクロ   要件

Linux マニュアル 一覧

関連するコマンド・関数

ilogb.3   ilogbf.3   fmod.3   fmodf.3   fmodl.3   log1p.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
バグ
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:15 GMT, October 11, 2026