scalblnd32, scalblnd64, scalblnd128, scalbnd32, scalbnd64 또는 scalbnd128 서브루틴

용도

FLT_RADIX=10 사용하여 지수를 계산합니다.

구문

#include <math.h>

_Decimal32 scalblnd32 (x, n)
_Decimal32 x;
long n;

_Decimal64 scalblnd64 (x, n)
_Decimal64 x;
long n;

_Decimal128 scalblnd128 (x, n)
_Decimal128 x;
long n;

_Decimal32 scalbnd32 (x, n)
_Decimal32 x;
int n;

_Decimal64 scalbnd64 (x, n)
_Decimal64 x;
int n;

_Decimal128 scalbnd128 (x, n)
_Decimal128 x;
int n;

설명

scalblnd32, scalblnd64, scalblnd128, scalbnd32, scalbnd64, scalbnd128 서브루틴은 일반적으로 FLT_RADIXn을 명시적으로 계산하는 것이 아니라 x * FLT_RADIXn을 효율적으로 계산합니다. AIX® 경우, FLT_RADIX =10.

오류 상황을 검사하는 애플리케이션은 이러한 서브루틴을 호출하기 전에 errno 전역 변수의 값을 0으로 설정하고 feclearexcept(FE_ALL_EXCEPT) 서브루틴을 호출해야 합니다. 반환 시 errno 전역 변수의 값이 0이 아니거나 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 서브루틴의 값이 0이 아닌 경우 오류가 발생했습니다.

매개변수

항목 설명
x 계산할 값을 지정합니다.
n 10의 지수를 지정합니다.

리턴 값

성공적으로 완료되면 scalblnd32, scalblnd64, scalblnd128, scalbnd32, scalbnd64, scalbnd128 서브루틴은 x * FLT_RADIXn을 반환합니다.

그 결과 오버플로가 발생하면 범위 오류가 발생하고 scalblnd32, scalblnd64, scalblnd128, scalbnd32, scalbnd64scalbnd128 서브루틴은 함수의 반환 유형에 따라 ±HUGE_VAL_D32, ±HUGE_VAL_D64±HUGE_VAL_D128을 반환합니다(x의 부호에 따름).

올바른 값으로 인해 언더플로우가 발생하고 표현할 수 없는 경우 범위 오류가 발생하고 0.0 반환됩니다.

X가 NaN, NaN 반환됩니다.

X가 ±0 또는 ±Inf이면 x가 반환됩니다.

N이 0이면 x가 반환됩니다.

올바른 값으로 인해 언더플로우가 발생하고 표현 가능한 경우 범위 오류가 발생하고 올바른 값이 반환됩니다.