Section courante

A propos

Section administrative du site

La valeur absolue

Le compilateur GNU C proposent de nombreuses fonction pour le traitement de valeur absolue de nombre. La valeur absolue d'un nombre réel x est x si x est positif, -x si x est négatif. Pour un nombre complexe z dont la partie réelle est x et la partie imaginaire est y, la valeur absolue est représenté par la formulation «sqrt(x * x + y * y)».

Les prototypes pour abs, labs et llabs sont indiquer dans l'entête stdlib.h; imaxabs est déclaré dans l'entête inttypes.h; tandis que la fonction fabs est déclarées dans l'entête math.h; les fonctions cabs, cabsf, cabsl sont déclarées dans l'entête complex.h.

Nombre entier

int abs(int number); Entier
long int labs(long int number); Entier long
long long int llabs(long long int number) Entier très long
intmax_t imaxabs(intmax_t number); Entier avec un maximum

Contexte préliminaire : MT-Safe, AS-Safe ou AC-Safe

Ces fonctions renvoient tous la valeur absolue du nombre. La plupart des ordinateurs utilisent une représentation d'un complément complémentaire, dans laquelle la valeur absolue de INT_MIN (le plus petit possible int) ne peut pas être représentée; ainsi, abs(INT_MIN) n'est pas défini.

Les fonctions llabs et imaxdiv sont nouveaux dans ISO C99.

Nombre réel

Pour les valeurs absolues de nombres réels (nombre à virgule flottante) :

double fabs(double number); Nombre réel de double précision
float fabsf(float number) Nombre réel
long double fabsl(long double number) Nombre réel de double précision long
_FloatN fabsfN(_FloatN number) Nombre réel
_FloatNx fabsfNx(_FloatNx number) Nombre réel

Contexte préliminaire : MT-Safe, AS-Safe, AC-Safe

Nombre complexe

Pour les valeurs absolues de nombres complexes :

double cabs(complex double z) Nombre complexe de double précision
float cabsf(complex float z) Nombre complexe
long double cabsl(complex long double z) Nombre complexe de double précision long
_FloatN cabsfN(complex _FloatN z) Nombre complexe
_FloatNx cabsfNx(complex _FloatNx z) Nombre complexe

La valeur absolue d'un nombre complexe est :

sqrt (creal (z) * creal (z) + cimag (z) * cimag (z))

Cette fonction doit toujours être utilisée à la place de la formule directe car elle peut également tirer parti du support matériel pour cette opération.



Dernière mise à jour : Samedi, le 7 avril 2018