LDEXP |
Produit de l'exposant |
---|---|
Langage C | math.h |
Syntaxe
double ldexp(double m,int exp); |
Paramètres
Nom | Description |
---|---|
m | Ce paramètre permet d'indiquer le nombre contenant l'expression multipliant l'expression |
exp | Ce paramètre permet d'indiquer l'exposant en base 2 |
Description
Cette fonction retourne la valeur de produit par la puissance 2.
Algorithme
MODULE LDEXP(x,exp) * Calculer x multiplié par 2 élevé à la puissance exp result ← x x (2exp) * Retourner le résultat du calcul RETOURNE result |
Remarques
- Calcul de la valeur d'un nombre avec une puissance de 2 : La fonction ldexp() permet de calculer le produit d'un nombre flottant avec une puissance de 2. Plus précisément, elle prend deux arguments : un nombre réel (x de type double) et un exposant (exp de type int). Elle retourne la valeur xx2exp, ce qui est équivalent à décaler le nombre x de manière exponentielle en base 2.
- Utilisation dans les calculs avec des puissances de 2 : ldexp() est particulièrement utile lorsqu'on travaille avec des calculs impliquant des puissances de 2, comme en informatique, où les systèmes numériques utilisent souvent des puissances de 2 pour des opérations arithmétiques efficaces. Cette fonction permet de manipuler les flottants avec des exposants entiers directement, sans avoir à recourir à des calculs manuels ou à des approximations.
- Précision et comportement des types flottants : La fonction ldexp() utilise des types flottants comme float, double, ou long double, ce qui lui permet de conserver une grande précision dans les calculs. Cela la rend particulièrement utile pour les applications nécessitant des calculs numériques à haute précision, comme les simulations scientifiques ou les calculs graphiques.
- Facilité d'utilisation et portabilité : Comme ldexp() est une fonction standard définie dans <math.h>, elle est disponible sur toutes les plateformes compatibles avec le langage de programmation C, ce qui la rend portable entre différents systèmes d'exploitation. Sa syntaxe simple et directe permet une utilisation facile dans des calculs complexes impliquant des puissances de 2.
- Applications dans les formats numériques normalisés : ldexp() est souvent utilisée dans le contexte de la représentation de nombres flottants normalisés, tels que ceux utilisés dans les formats IEEE-754. Cette fonction facilite l'ajustement de l'exposant d'un nombre flottant sans avoir à manipuler directement les bits, ce qui peut être complexe et sujet aux erreurs.
- Comportement des bornes de l'exposant : La fonction ldexp() manipule les exposants comme des entiers, mais le comportement des bornes dépend du type de donnée flottante utilisé. Par exemple, les valeurs d'exposant très grandes ou très petites peuvent entraîner des résultats de débordement ou de sous-flux dans certains systèmes. Il est donc important de prendre en compte les limites du type de donnée utilisé (comme les limites de l'exposant pour float et double).
- Utilité dans les calculs logarithmiques : ldexp() est souvent utilisée en conjonction avec des calculs logarithmiques ou dans des algorithmes où les puissances de 2 sont fréquentes, comme dans les transformées de Fourier rapides (FFT), les calculs d'entropie ou les algorithmes de compression. Elle permet de travailler efficacement avec des données numériques où les puissances de 2 jouent un rôle crucial.
- Comportement avec des arguments spéciaux : Comme beaucoup d'autres fonctions de la bibliothèque mathématique C, ldexp() a un comportement défini pour certains cas spéciaux. Par exemple, si le paramètre x est zéro, ldexp() retournera zéro, indépendamment de l'exposant. De même, si l'exposant est un nombre très grand ou très petit, le résultat sera influencé par les limites du type de donnée (débordement de valeurs, sous-flux ou résultat infini).
Exemple
Voici un exemple montrant le résultat de cette fonction :
Essayer maintenant !
on obtiendra le résultat suivant :
ldexp(1, 1) = 2.0, ldexp(1, 2) = 4.0, ldexp(1, 3) = 8.0ldexp(2, 1) = 4.0, ldexp(2, 2) = 8.0, ldexp(2, 3) = 16.0
ldexp(3, 1) = 6.0, ldexp(3, 2) = 12.0, ldexp(3, 3) = 24.0
ldexp(4, 1) = 8.0, ldexp(4, 2) = 16.0, ldexp(4, 3) = 32.0
ldexp(5, 1) = 10.0, ldexp(5, 2) = 20.0, ldexp(5, 3) = 40.0
ldexp(6, 1) = 12.0, ldexp(6, 2) = 24.0, ldexp(6, 3) = 48.0
ldexp(7, 1) = 14.0, ldexp(7, 2) = 28.0, ldexp(7, 3) = 56.0
ldexp(8, 1) = 16.0, ldexp(8, 2) = 32.0, ldexp(8, 3) = 64.0
ldexp(9, 1) = 18.0, ldexp(9, 2) = 36.0, ldexp(9, 3) = 72.0
Voir également
Langage de programmation - C - Référence de procédures et fonctions - exp
Langage de programmation - C - Référence de procédures et fonctions - modf
Langage de programmation - C++ - Référence de procédures et fonctions - ldexp
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 732.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 156.
Dernière mise à jour : Mardi, le 28 juillet 2015