다음을 통해 공유


scalbn, scalbnf, scalbnl, scalbln, scalblnfscalblnl

부동 소수점 숫자와 정수 계열을 곱합니다 FLT_RADIX.

구문

double scalbn(
   double x,
   int exp
);
float scalbn(
   float x,
   int exp
);  // C++ only
long double scalbn(
   long double x,
   int exp
);  // C++ only
float scalbnf(
   float x,
   int exp
);
long double scalbnl(
   long double x,
   int exp
);

#define scalbn(X, INT) // Requires C11 or higher

double scalbln(
   double x,
   long exp
);

float scalblnf(
   float x,
   long exp
);
long double scalblnl(
   long double x,
   long exp
);

#define scalbln(X, LONG) // Requires C11 or higher

float scalbln(
   float x,
   long exp
);  // C++ only
long double scalbln(
   long double x,
   long exp
);  // C++ only

매개 변수

x
부동 소수점 값입니다.

exp
정수 지수입니다.

반환 값

scalbn 함수는 정상적으로 실행되면 x * FLT_RADIXexp의 값을 반환합니다. 오버플로(부x호에 따라 다름) scalbn 에서는 +/- HUGE_VALerrno 를 반환하고 값은 .로 ERANGE설정됩니다.

오류 반환 값 및 가능한 오류 반환 값에 대한 errno 자세한 내용은 , _doserrno, _sys_errlist_sys_nerr를 참조errno하세요.

설명

FLT_RADIX는 float.h에서 <네이티브 부동 소수점 반지름으로 정의됩니다. 이진 시스템에서는 값이 2이며 scalbn 해당합니다ldexp.>

C++는 오버로드를 허용하므로 사용 및 반환 float 또는 long double 형식을 호출 scalbn 하고 scalbln 오버로드할 수 있습니다. C 프로그램에서는 tgmath.h> 매크로를 사용하여 <이 함수 scalbn 를 호출하지 않는 한 항상 a double 및 a int 를 사용하고 반환double하며 scalbln 항상 a 및 a double long 를 사용하고 반환double합니다.

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

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 C 헤더 C++ 헤더
scalbn, scalbnf, scalbnl, scalbln, scalblnfscalblnl <math.h> <cmath>
scalbn 또는 scalbln 매크로 <tgmath.h>

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

예시

// crt_scalbn.c
// Compile using: cl /W4 crt_scalbn.c
#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 6.4, y;
   int p = 3;

   y = scalbn( x, p );
   printf( "%2.1f times FLT_RADIX to the power of %d is %2.1f\n", x, p, y );
}

출력

6.4 times FLT_RADIX to the power of 3 is 51.2

참고 항목

수학 및 부동 소수점 지원
frexp
ldexp
modf, , modffmodfl