LOG10 |
Logarithme 10 |
---|---|
Langage C | math.h |
Syntaxe
double log10(double n); |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction retourne le logarithme décimal.
Algorithme
MODULE SQRT(X) SI X = 0.0 ALORS RETOURNE 0.0 SINON M ← 1.0 XN ← X BOUCLE FAIRE TANT QUE XN >= 2.0 XN ← 0.25 x XN M ← 2.0 x M FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE XN < 0.5 XN ← 4.0 x XN M ← 0.5 x M FIN BOUCLE FAIRE TANT QUE A ← XN B ← 1.0 - XN BOUCLE REPETER A ← A x (1.0 + 0.5 x B) B ← 0.25 x (3.0 + B) x B x B FIN BOUCLE JUSQU'A B ← 1.0E - 15 RETOURNE A x M FIN SI MODULE LOG(x) negatif ← faux fois ← 1 ajout ← 0 SI x <= 0.0 ALORS RETOURNE 0 FIN SI SI x < 1.0 ALORS negatif ← vrai x ← 1.0 / x FIN SI BOUCLE FAIRE TANT QUE x >= 10.0 x ← x / 10.0 ajout ← ajout + 2.302585092994046 FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE x >= 1.1 x ← SQRT(x) fois ← fois x 2 FIN BOUCLE FAIRE TANT QUE x ← x - 1 savx ← x i ← 2 xp ← x x x quotient ← (xp / i) dl ← x - quotient BOUCLE FAIRE TANT QUE 1.0E-15 ← quotient i ← i + 1 xp ← xp x x dl ← dl + (xp / i) i ← i + 1 xp ← xp x x quotient ← (xp / i) dl ← dl - quotient FIN BOUCLE FAIRE TANT QUE dl ← dl x fois dl ← dl + ajout SI negatif ALORS dl ← -dl FIN SI RETOURNE dl MODULE LOG10(DansNombre) RETOURNE LOG(DansNombre) / 2,3025850930 |
Remarques
- Calcul du logarithme en base 10 : La fonction log10(), définie dans la bibliothèque <math.h>, calcule le logarithme en base 10 d'un nombre positif donné. Cela signifie qu'elle retourne y tel que 10y=x. Elle est essentielle dans des applications où les échelles logarithmiques sont courantes, comme les calculs scientifiques et l'analyse de données.
- Domaines d'entrée valides : log10() accepte uniquement des valeurs strictement positives comme paramètre. Si l'entrée est x≤0, la fonction retourne une valeur indéfinie ou une erreur, souvent signalée par errno avec un code EDOM. Ce comportement est conforme aux propriétés mathématiques des logarithmes.
- Retour de valeurs spécifiques : Si le paramètre est 1, le résultat est 0 car log10(1)=0. Pour des valeurs inférieures à 1 mais positives, la fonction retourne un résultat négatif (par exemple, log10(0.1)=-1). Ces comportements suivent les règles des logarithmes en base 10.
- Applications en science et ingénierie : La fonction log10() est souvent utilisée dans des domaines comme l'acoustique (échelle des décibels), la chimie (calcul du pH), et l'informatique (algorithmes à base logarithmique). Elle est aussi utile dans les transformations d'échelles de données pour la visualisation.
- Précision et types : Les résultats de log10() sont influencés par le type de l'entrée (float, double, ou long double). La précision est généralement suffisante pour la plupart des applications courantes, mais des erreurs d'arrondi peuvent apparaître pour des valeurs extrêmes ou des besoins de précision élevée.
- Lien avec d'autres fonctions logarithmiques : log10() est un complément pratique à log(), calculant le logarithme naturel. Si la base 10 n'est pas explicitement fournie dans une application, on peut utiliser la relation log10(x)=ln(x)/ln(10) pour obtenir un résultat similaire.
- Gestion des erreurs : Si un paramètre invalide, comme un nombre négatif ou zéro, est fourni, log10() retourne une erreur ou une valeur spéciale (comme -HUGE_VAL pour un résultat infini négatif). Cela nécessite des vérifications rigoureuses pour éviter des comportements inattendus dans les programmes.
- Optimisations matérielles et performances : Sur certaines architectures, log10() bénéficie d'optimisations matérielles qui rendent son exécution rapide. Ces optimisations en font un choix efficace pour des calculs intensifs ou répétitifs, tout en offrant des performances comparables à celles des autres fonctions mathématiques de la bibliothèque standard.
Exemple
Voici un exemple permettant d'afficher le logarithme en base 10 inférieurs à 2 :
Essayer maintenant !
on obtiendra le résultat suivant :
LOG10(0.100000)=-1.000000LOG10(0.200000)=-0.698970
LOG10(0.300000)=-0.522879
LOG10(0.400000)=-0.397940
LOG10(0.500000)=-0.301030
LOG10(0.600000)=-0.221849
LOG10(0.700000)=-0.154902
LOG10(0.800000)=-0.096910
LOG10(0.900000)=-0.045757
LOG10(1.000000)=0.000000
LOG10(1.100000)=0.041393
LOG10(1.200000)=0.079181
LOG10(1.300000)=0.113943
LOG10(1.400000)=0.146128
LOG10(1.500000)=0.176091
LOG10(1.600000)=0.204120
LOG10(1.700000)=0.230449
LOG10(1.800000)=0.255273
LOG10(1.900000)=0.278754
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 - log
Langage de programmation - C++ - Référence de procédures et fonctions - log10
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 163.
Dernière mise à jour : Mardi, le 28 juillet 2015