다음을 통해 공유


ilogb, , ilogbfilogbl

지정된 값의 밑이 2인 비편향 지수를 나타내는 정수를 검색합니다.

구문

int ilogb(
   double x
);

int ilogb(
   float x
); //C++ only

int ilogb(
   long double x
); //C++ only

int ilogbf(
   float x
);

int ilogbl(
   long double x
);

#define ilogbl(X) // Requires C11 or higher

매개 변수

x
지정된 값입니다.

반환 값

성공하면 이러한 함수는 base-2 지수 x 를 값으로 signed int 반환합니다.

그렇지 않으면 함수는 math.h>에 <정의된 다음 값 중 하나를 반환합니다.

입력 결과
±0 FP_ILOGB0
± INF, ± NAN, IND FP_ILOGBNAN

오류는 _matherr에 지정된 대로 보고됩니다.

설명

C++는 오버로딩을 허용하기 때문에 ilogbfloat 형식을 사용하고 반환하는 long double의 오버로드를 호출할 수 있습니다. C 프로그램에서 이 함수를 호출하기 위해 <tgmath.h> 매크로를 사용하지 않는 한, ilogb은 항상 double을 취하고 반환합니다.

<tgmath.h>ilogb() 매크로를 사용하는 경우 인수 형식에 따라 선택되는 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.

이 함수를 호출하는 것은 해당 logb 함수를 호출한 다음 반환 값을 int로 캐스팅하는 것과 유사합니다.

요구 사항

루틴에서 반환된 값 C 헤더 C++ 헤더
ilogb, , ilogbfilogbl <math.h> <cmath>
ilogb 매크로 <tgmath.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

사전순 함수 참조
frexp
logb, logbf, logbl, _logb_logbf