scalbn
, scalbnf
, scalbnl
, scalbln
, scalblnf
scalblnl
부동 소수점 숫자와 정수 계열을 곱합니다 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_RADIX
exp의 값을 반환합니다. 오버플로(부x
호에 따라 다름) scalbn
에서는 +/- HUGE_VAL
errno
를 반환하고 값은 .로 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 , scalblnf scalblnl |
<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