Valeur absolue et le C
Bien qu'en C, il existe une fonction «abs» dans l'entête stdlib.h permettant de calculer la valeur absolue de nombre entier, et des fonctions labs et fabs dans l'entête math.h permettent de calculer respectivement la valeur absolue d'un entier long et d'un nombre réel.
int abs(int n); | Entier |
long labs(long n); | Entier long |
double fabs(double n); | Nombre réel |
double cabs(complex double z) | Nombre complexe (supporté seulement par quelques compilateurs comme GNU C : cabs, cabsf,...) |
Étant donné que le langage de programmation C est étroitement relié à ses types de données pour retourner un résultat, le langage de programmation C offre différentes fonctions pour retourner la valeur absolue. Il faut utiliser la fonction la plus approprié si on veut obtenir un résultat valide. Toutefois, il y a 2 nombreuses variations des fonctions disponibles d'un compilateur de langage de programmation C à un autre.
Comportement
Tout d'abord, on doit savoir que la valeur absolue peut s'appliquer aussi bien a un nombre entier qu'un nombre réel. Il n'est pas possible d'effectuer un nombre irréel ou d'une chaîne de caractères. De plus, il est impossible d'avoir un nombre négatif avec une valeur absolue, car la valeur absolue retire en quelque sorte le signe négatif. Ainsi, le nombre traiter par une valeur absolue conservera uniquement le nombre et éliminera le signe et comme lorsqu'il n'y a pas de signe, le nombre est positif, le nombre retourner sera donc supérieur ou égale à zéro.
Remarque
- Un nombre naturel aura toujours la même valeur avant et après le traitement d'une valeur absolue : «NATUREL = abs(NATUREL)».
Exemple pratique
Bien qu'il existe de nombreuses fonctions de valeurs absolues en langage de programmation C, il peut quand même être amusant d'effectuer se genre de calcul nous-mêmes. Pour remédier à ce problème de la valeur absolue, il suffit de créer une fonction ressemblant à ceci :
Essayer maintenant !
on obtiendra le résultat suivant :
Abs(1)=1Abs(-1)=1
Abs(30.2)=30.2
Abs(-35.4)=35.4
Voir également
Langage de programmation - AWK - Mathématique - abs