Espaces de noms
Variantes
Affichages
Actions

std::ilogb

De cppreference.com
< cpp‎ | numeric‎ | math

 
 
Bibliothèque Numerics
Fonctions mathématiques courantes
Virgule flottante environnement
Nombres complexes
Tableaux numériques
La génération de nombres pseudo-aléatoires
Moment de la compilation arithmétique rationnelle (C++11)
Génériques des opérations numériques
Original:
Generic numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iota (C++11)
accumulate
inner_product
adjacent_difference
partial_sum
 
Fonctions mathématiques courantes
{{{1}}}
Original:
{{{2}}}
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Fonctions
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Opérations de base
Original:
Basic operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
remainder (C++11)
remquo (C++11)
fma (C++11)
fmax (C++11)
fmin (C++11)
fdim (C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
Les fonctions exponentielles
Original:
Exponential functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
exp
exp2 (C++11)
expm1 (C++11)
log
log10
log1p (C++11)
log2 (C++11)
Les fonctions de puissance
Original:
Power functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sqrt
cbrt (C++11)
hypot (C++11)
pow
Les fonctions trigonométriques et hyperboliques
Original:
Trigonometric and hyperbolic functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sinh
cosh
tanh
asinh (C++11)
acosh (C++11)
atanh (C++11)
{{{1}}}
Original:
{{{2}}}
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Erreur fonctions et gamma
Original:
Error and gamma functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
erf (C++11)
erfc (C++11)
lgamma (C++11)
tgamma (C++11)
Entier le plus proche opérations en virgule flottante
Original:
Nearest integer floating point operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc (C++11)
nearbyint (C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
Flottant fonctions de manipulation de points
Original:
Floating point manipulation functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb (C++11)
logb (C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign (C++11)
Classification / Comparaison
Original:
Classification/Comparison
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
fpclassify (C++11)
isfinite (C++11)
isinf (C++11)
isnan (C++11)
isnormal (C++11)
signbit (C++11)
isgreater (C++11)
isgreaterequal (C++11)
isless (C++11)
islessequal (C++11)
islessgreater (C++11)
isunordered (C++11)
Macro constantes
Original:
Macro constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
</div>
 
</div>
Defined in header <cmath>
int         ilogb( float arg );
(depuis C++11)
int         ilogb( double arg );
(depuis C++11)
int         ilogb( long double arg );
(depuis C++11)
double      ilogb( Integral arg );
(depuis C++11)
#define FP_ILOGB0 /*implementation-defined*/
(depuis C++11)
#define FP_ILOGBNAN /*implementation-defined*/
(depuis C++11)
Extrait la valeur de l'exposant de la arg argument en virgule flottante, et retourne une valeur entière signée. Formellement, le résultat est la partie intégrante de log
r
|arg|
comme une valeur signée intégrante, en cas de non-nul arg, où r est std::numeric_limits<T>::radix et T est le type à virgule flottante de arg .
Original:
Extracts the value of the exponent from the floating-point argument arg, and returns it as a signed integer value. Formally, the result is the integral part of log
r
|arg|
as a signed integral value, for non-zero arg, where r is std::numeric_limits<T>::radix and T is the floating-point type of arg.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier] Paramètres

arg -
valeur du point flottant
Original:
floating point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Retourne la valeur

L'exposant à virgule flottante, jeté en entier, comme par static_cast<int>(std::logb(arg)) .
Original:
The floating-point exponent, cast to integer, as if by static_cast<int>(std::logb(arg)).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Erreur de domaine ou une plage peut se produire si arg est égal à zéro, FP_ILOGB0 est retourné dans ce cas .
Original:
Domain or range error may occur if arg is zero, FP_ILOGB0 is returned in that case.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Erreur de domaine ou une plage peut se produire si arg est infini, MAX_INT est retourné dans ce cas .
Original:
Domain or range error may occur if arg is infinite, MAX_INT is returned in that case.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Erreur de domaine ou une plage peut se produire si arg est NaN, FP_ILOGBNAN est retourné dans ce cas .
Original:
Domain or range error may occur if arg is NaN, FP_ILOGBNAN is returned in that case.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Si le résultat ne peut pas être représenté comme int, le résultat est indéfini .
Original:
If the result cannot be represented as int, the result is undefined.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Notes

La valeur de l'exposant retourné par std::ilogb est toujours inférieur de 1 l'exposant retuned par std::frexp en raison des exigences de normalisation différents: pour le e exposant retourné par std::ilogb, |arg*r-e
|
est comprise entre 1 et r (typiquement entre 1 et 2), mais pour le exposant e retourné par std::frexp, |arg*2-e
|
se situe entre 0.5 et 1 .
Original:
The value of the exponent returned by std::ilogb is always 1 less than the exponent retuned by std::frexp because of the different normalization requirements: for the exponent e returned by std::ilogb, |arg*r-e
|
is between 1 and r (typically between 1 and 2), but for the exponent e returned by std::frexp, |arg*2-e
|
is between 0.5 and 1.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier] Exemple

Compare les différentes fonctions de décomposition en virgule flottante
Original:
Compares different floating-point decomposition functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <cmath>
#include <limits>
int main()
{
    double f = 123.45;
    std::cout << "Given the number " << f << " or " << std::hexfloat
              << f << std::defaultfloat << " in hex,\n";
 
    double f3;
    double f2 = std::modf(f, &f3);
    std::cout << "modf() makes " << f3 << " + " << f2 << '\n';
 
    int i;
    f2 = std::frexp(f, &i);
    std::cout << "frexp() makes " << f2 << " * 2^" << i << '\n';
 
    i = std::ilogb(f);
    std::cout << "logb()/ilogb() make " << f/std::scalbn(1.0, i) << " * "
              << std::numeric_limits<double>::radix
              << "^" << std::ilogb(f) << '\n';
}

Résultat :

Given the number 123.45 or 0x1.edccccccccccdp+6 in hex,
modf() makes 123 + 0.45
frexp() makes 0.964453 * 2^7
logb()/ilogb() make 1.92891 * 2^6

[modifier] Voir aussi

se décompose en un certain nombre mantisse et d'une puissance de 2
Original:
decomposes a number into significand and a power of 2
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction) [edit]
(C++11)
extrait exposant du nombre
Original:
extracts exponent of the number
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction) [edit]
(C++11)
(C++11)
multiplie par un nombre FLT_RADIX élevé à une puissance
Original:
multiplies a number by FLT_RADIX raised to a power
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(fonction) [edit]