Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Mnoży liczbę zmiennoprzecinkową przez całkowitą moc FLT_RADIX.
Składnia
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 later
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 later
float scalbln(
float x,
long exp
); // C++ only
long double scalbln(
long double x,
long exp
); // C++ only
Parametry
x
Wartość zmiennoprzecinkowa.
exp
Wykładnik liczby całkowitej.
Wartość zwracana
Funkcje scalbn zwracają wartość exp po pomyślnym wykonaniux * FLT_RADIX. Po przepełnieniu (w zależności od znaku x), scalbn zwraca wartość +/- HUGE_VAL; errno wartość jest ustawiona na ERANGE.
Aby uzyskać więcej informacji na temat errno możliwych wartości zwracanych przez błąd, zobaczerrno , _doserrno, _sys_errlisti _sys_nerr.
Uwagi
FLT_RADIX element jest zdefiniowany w <zmiennoprzecinku zmiennoprzecinkowym> jako natywny radiks zmiennoprzecinkowy; w systemach binarnych ma wartość 2 i scalbn jest odpowiednikiem ldexp.
Ponieważ język C++ umożliwia przeciążenie, można wywoływać scalbn i przeciążenia, które przyjmują i scalbln zwracają float lub long double typy. W programie języka C, chyba że używasz <makra tgmath.h> do wywołania tej funkcji, scalbn zawsze przyjmuje element i int i zwraca doubleelement , i scalbln zawsze przyjmuje double double element i long i zwraca doublewartość i .
Jeśli używasz <makr tgmath.h>scalbn() lub scalbln , typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
| Function | Nagłówek języka C | Nagłówek języka C++ |
|---|---|---|
scalbn, , scalbnf, scalbnl, scalbln, , scalblnfscalblnl |
<math.h> | <cmath> |
scalbn lub scalbln makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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 );
}
Wynik
6.4 times FLT_RADIX to the power of 3 is 51.2
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
frexp
ldexp
modf, , modffmodfl