LABS |
Absolue pour long |
---|---|
Langage C | math.h ou stdlib.h |
Syntaxe
long labs(long n); |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction retourne la valeur absolue d'un entier de type «long».
Algorithme
MODULE LABS(valeur) SI valeur < 0 ALORS RETOURNE - valeur SINON RETOURNE valeur FIN SI |
Remarques
- L'emplacement de la définition de la fonction labs varie en fonction de la marque du compilateur, ainsi par exemple le Quick C définit la fonction dans les deux entêtes.
- Calcul de la valeur absolue pour les long int : La fonction labs() permet de calculer la valeur absolue d'un nombre de type long int. Elle prend en paramètre un entier long et retourne sa valeur absolue sous forme de long int. Cette fonction est particulièrement utile lorsqu'on travaille avec des entiers longs, souvent plus grands que les entiers standard de type int.
- Retour de la valeur absolue : labs() renvoie la valeur absolue du nombre passé en paramètre. Si le nombre est déjà positif, il est retourné tel quel. Si le nombre est négatif, la fonction retourne son opposé positif. La fonction ne modifie pas le signe du nombre si celui-ci est déjà positif.
- Comportement pour zéro : Si le paramètre passé à labs() est zéro, la fonction retourne zéro, car la valeur absolue de zéro est elle-même zéro. Cela est valable pour les entiers longs comme pour les autres types numériques traités par des fonctions similaires.
- Sécurité contre les entiers minimums : Si un entier long passé à labs() a la valeur LONG_MIN (la valeur la plus petite représentable pour un long int), la fonction renverra la même valeur, car il n'y a pas de représentation possible pour son opposé dans ce type de données. Cela pourrait poser des problèmes dans certains systèmes où cette situation n'est pas correctement gérée.
- Exigence de la bibliothèque standard : labs() fait partie de la bibliothèque standard C, plus précisément dans le fichier d'entête <stdlib.h>. Il est donc nécessaire d'inclure cette bibliothèque avant d'utiliser la fonction.
- Optimisation dans les applications numériques : La fonction labs() est largement utilisée dans les calculs numériques, où il est nécessaire de travailler avec des valeurs positives ou de comparer des différences de grandeurs sans se soucier des signes. Elle permet de simplifier les calculs et d'éviter de vérifier manuellement si un nombre est positif ou négatif.
- Compatibilité avec d'autres fonctions de la famille math.h : Bien que labs() soit utilisée pour les entiers longs, il existe des fonctions similaires pour d'autres types numériques, telles que abs() pour les entiers de type int et llabs() pour les entiers longs longs (long long). L'utilisation de la fonction appropriée en fonction du type de donnée assure une meilleure portabilité et précision.
- Simplicité et efficacité : La fonction labs() est très simple dans son utilisation et très efficace pour obtenir la valeur absolue d'un nombre entier long. Elle est généralement plus rapide que d'autres méthodes manuelles de calcul de la valeur absolue, telles que les structures conditionnelles if ou l'utilisation d'opérateurs.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
-
- int main()
- {
-
- printf("Abs(-1048576)=%i\n",labs(-1048576));
- printf("Abs(65536)=%i\n",labs(65536));
- printf("Abs(1)=%i\n",labs(1));
- printf("Abs(-1)=%i\n",labs(-1));
- printf("Abs(30.2)=%i\n",labs(30.2));
- printf("Abs(-35.4)=%i\n",labs(-35.4));
- return 0;
- }
on obtiendra le résultat suivant :
Abs(-1048576)=1048576Abs(65536)=65536
Abs(1)=1
Abs(-1)=1
Abs(30.2)=30
Abs(-35.4)=35
Voir également
Langage de programmation - C - Référence de procédures et fonctions - abs
Langage de programmation - C - Référence de procédures et fonctions - fabs
Langage de programmation - C++ - Référence de procédures et fonctions - labs
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