Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Multiplie un nombre à virgule flottante par une puissance intégrale de FLT_RADIX.
Syntaxe
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
Paramètres
x
Valeur à virgule flottante.
exp
Exposant entier.
Valeur retournée
Les fonctions scalbn retournent la valeur de x * FLT_RADIXexp en cas de succès. En cas de dépassement (en fonction du signe de x), scalbn retourne +/- HUGE_VAL; la errno valeur est définie ERANGEsur .
Pour plus d’informations sur errno les valeurs de retour d’erreur possibles, consultezerrno , , _doserrno_sys_errlistet _sys_nerr.
Notes
FLT_RADIX est défini dans <float.h> comme radix à virgule flottante native ; sur les systèmes binaires, il a la valeur 2 et scalbn équivaut à ldexp.
Étant donné que C++ autorise la surcharge, vous pouvez appeler scalbn et scalbln surcharges qui prennent et retournent float ou long double types. Dans un programme C, sauf si vous utilisez la <macro tgmath.h> pour appeler cette fonction, scalbn prend toujours une double et un int et retourne un double, et scalbln prend toujours un double et un long et retourne un double.
Si vous utilisez les <macros ou scalbln tgmath.h>scalbn(), le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
| Fonction | En-tête C | En-tête C++ |
|---|---|---|
scalbn, , scalbnf, scalblnscalbnl, , scalblnfscalblnl |
<math.h> | <cmath> |
scalbn ou scalbln macro |
<tgmath.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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 );
}
Sortie
6.4 times FLT_RADIX to the power of 3 is 51.2
Voir aussi
Prise en charge des fonctions mathématiques et à virgule flottante
frexp
ldexp
modf, , modffmodfl