Sélectionner une page


Un article de Wikipédia, l’encyclopédie gratuite.

math.h est un groupe de fonctions du Bibliothèque C standard Cela permet d’utiliser un certain nombre de fonctions mathématiques de base[1],[2]Avec Nombres à virgule flottante. Les différentes normes C les implémentent différemment, mais restent toujours compatibles vers le bas. La plupart de ces fonctions sont également disponibles dans le Bibliothèque standard C ++bien que dans un en-tête différent (les en-têtes C sont inclus, mais uniquement pour des raisons de compatibilité).

La plupart des fonctions sont contenues dans l’en-tête math.h (ou dans l’en-tête cmath en C ++). Fonctions qui fonctionnent avec des nombres entiers, telles que Section, Laboratoires, div, ou ldiv cependant, sont donnés en stdlib.h ((cstdlib et C ++).

Toutes les fonctions qui affectent les angles utilisent les radians comme unité[3].

Toutes les fonctions ne sont pas disponibles dans la version C89 de la norme C. Pour ceux qui le sont, les fonctionnalités n’acceptent que le type double pour les opérations avec des nombres à virgule flottante. Dans la norme C99, cette restriction a été supprimée par l’introduction d’un nouvel ensemble de fonctions fonctionnant avec des paramètres de type flotter ou long double. Ces fonctions sont identifiées chacune par le suffixe F ou l[4].

une fonction la description
abs
labs
llabs
calculer ça valeur absolue un nombre entier
fabs Calculer la valeur absolue d’un certain nombre de types de flottants
div
ldiv
lldiv
Calculez le quotient et le reste de la division euclidienne
fmod Reste de la division des nombres à virgule flottante
remainder a signé le reste de l’opération de division
remquo reste signé ainsi que les trois derniers bits de l’opération de fractionnement
fma Multiplication Puis addition (multiplier-accumuler)
fmax un maximum de deux valeurs à virgule flottante
fmin au moins deux valeurs à virgule flottante
fdim différence positive entre deux valeurs à virgule flottante
nan
nanf
nanl
Renvoie un pas de numéro (NaN)
Fonctions exponentielles exp revenir e élevé à la puissance demandée
exp2 renvoie 2 à la puissance demandée
expm1 renvoie e à la puissance du moins 1 demandé
log calculer ça un algorithme naturel (basé sur)
log2 Calculez le logarithme binaire (en base 2).
log10 calculer ça Logarithme décimal (en base 10)
log1p Calculer le logarithme naturel (base e) de 1 plus le nombre donné
ilogb extrait l’exposant d’un nombre
logb extrait l’exposant d’un nombre
Fonctions de puissance sqrt calculer ça racine carrée
cbrt Calculer la racine cubique
hypot Calculer la racine carrée de la somme des carrés des deux nombres donnés
pow Augmenter un nombre à la puissance donnée
Fonctions trigonométriques sin Calculer le sinus
cos calculer ça cosinus
tan calculer ça tangente
asin Calculer l’arc sinus
acos Calculer l’arc cosinus
atan Calculer l’arc tangent
atan2 Utilisez le signe pour calculer l’arc tangent afin de déterminer le quadrant
Fonctions hyperboliques sinh Calculer le sinus hyperbolique
cosh Calculer le cosinus hyperbolique
tanh Calculer la tangente hyperbolique
asinh Calculer la courbe sinusale hyperbolique
acosh Calculer l’arc cosinus hyperbolique
atanh Calculer l’arc tangente hyperbolique
Fonction d’erreur et fonction gamma erf Calculer la fonction d’erreur
erfc calculer ça fonction d’erreur complémentaire
lgamma Calculer le logarithme naturel de la valeur absolue de Fonction gamma
tgamma Calculer la fonction gamma
Opérations d’arrondi ceil renvoie l’entier supérieur suivant
floor renvoie le nombre entier inférieur suivant
trunc Renvoie l’entier le plus proche dont la valeur absolue est inférieure
round
lround
llround
Renvoie l’entier le plus proche selon les règles d’arrondi
nearbyint Renvoie l’entier le plus proche en utilisant la méthode d’arrondi actuelle
rint
lrint
llrint
Renvoie l’entier le plus proche en utilisant la méthode d’arrondi actuelle sauf lorsque le résultat est différent
Fonctions d’édition des nombres à virgule flottante frexp Décomposer le paramètre en un nombre et une puissance de 2
ldexp Multipliez un nombre par un nombre qui augmente à une puissance de deux
modf divise un nombre en un nombre entier et sa fraction.
scalbn
scalbln
Multipliez un nombre par FLT_RADIX élevé à une puissance spécifique
nextafter
nexttoward
Renvoie la valeur suivante qui peut être représentée sous forme de virgule flottante
copysign copie le signe d’un nombre à virgule flottante
classification fpclassify catégorise une valeur à virgule flottante
isfinite vérifie si le nombre spécifié a une valeur finie
isinf vérifie si le nombre spécifié a une valeur infinie
isnan Vérifiez que le numéro fourni est NaN
isnormal Vérifiez si le nombre donné est normal
signbit vérifie si le nombre spécifié est négatif

Environnement en virgule flottante[modifier | modifier le code]

C99 ajoute diverses fonctions et types pour contrôler plus précisément l’environnement en virgule flottante[5]. Ces fonctions peuvent être utilisées pour contrôler un certain nombre de paramètres qui affectent le calcul avec des nombres à virgule flottante, par ex. B. Mode d’arrondi lorsque les nombres doivent être réinitialisés, etc. Ces fonctions sont définies dans l’en-tête fenv.h ((cfenv dans le C ++).

une fonction la description
feclearexcept Supprimer les exceptions (C99)
fegetenv enregistre l’environnement actuel (C99)
fegetexceptflag Enregistrer les indicateurs d’état (C99)
fegetround obtenir la direction d’arrondi actuelle (C99)
feholdexcept Enregistrez l’environnement actuel et nettoyez les exceptions (C99).
feraiseexcept lever une exception (C99)
fesetenv met en place un environnement (C99)
fesetexceptflag met en place un indicateur d’état (C99)
fesetround choisir le sens de l’arrondi (C99)
fetestexcept Tester si certaines exceptions ont été déclenchées (C99)
feupdateenv Restauration d’un environnement en conservant les exceptions levées (C99)

Nombres complexes[modifier | modifier le code]

C99 ajoute un nouveau mot-clé _Complexe (et la macro complexe pour plus de simplicité) qui peut gérer des nombres complexes. Ceux-ci se présentent sous la forme de deux nombres à virgule flottante.

C ++ ne fournit pas de compatibilité descendante pour les nombres complexes, mais la classe std :: complexe.

Toutes les opérations sur les nombres complexes sont définies dans l’en-tête complex.h. Suffixes pour les fonctions sur des nombres entiers F et l sont les variantes de la fonction que chaque type utilise Complexe de flotteurs et long double complexe.

une fonction la description
Opérations de base cabs Calculer la valeur absolue (C99)
carg Calculer l’argument (C99)
cimag renvoie la partie imaginaire d’un nombre complexe (C99)
creal Renvoie le Partie réelle un nombre complexe (C99)
conj Renvoie le conjuguer un nombre complexe (C99)
cproj Calculer la projection du nombre complexe sur la sphère de Riemann (C99)
Opérations exponentielles cexp Calculer l’exponentielle d’un nombre complexe (C99)
clog calculer ça logarithme un nombre complexe (C99)
csqrt calculer ça racine carrée un nombre complexe (C99)
cpow calculer ça Puissance un nombre complexe (C99)
Opérations trigonométriques csin Calculer le sinus d’un nombre complexe (C99)
ccos Calculer le cosinus d’un nombre complexe (C99)
ctan Calculer la tangente d’un nombre complexe (C99)
casin Calculer l’arc sinus d’un nombre complexe (C99)
cacos Calculer l’arc cosinus d’un nombre complexe (C99)
catan calculer çaArc tangent un nombre complexe (C99)
Opérations hyperboliques csinh Calculer le sinus hyperbolique d’un nombre complexe (C99)
ccosh Calculer le cosinus hyperbolique d’un nombre complexe (C99)
ctanh calculer ça tangente hyperbolique un nombre complexe (C99)
casinh Calculez le sinus hyperbolique d’un nombre complexe (C99).
cacosh Calculez l’arc cosinus hyperbolique d’un nombre complexe (C99).
catanh Calculez l’arc tangente hyperbolique d’un nombre complexe (C99).

Génération de nombres aléatoires[modifier | modifier le code]

Entête stdlib.h ((cstdlib en C ++) définit plusieurs fonctions qui peuvent être utilisées pour générer des nombres aléatoires statiques[6].

Sous Linux et FreeBSD, fonctions mathématiques (telles que déclarées dans math.h) sont regroupés séparément dans la bibliothèque mathématique libm. Ainsi, lorsqu’une de ces fonctions est utilisée, la directive -lm doit être ajouté à l’éditeur de liens.

  1. (dans le) Spécification ISO / CEI 9899: 1999 ((Lire en ligne), p. 212, § 7.12.
  2. (dans le) Stephen Parlez, C-Primer plus: contient un index, Sams Publishing, 959 p. ((ISBN 0-672-32696-5), Annexe B, Section V: La bibliothèque standard ANSI C avec des ajouts C99.
  3. (dans le) Spécification ISO / CEI 9899: 1999 ((Lire en ligne), p. 212, § 7.12.
  4. Stephen Parlez, C-Primer plus: contient un index, Sams Publishing, 959 p. ((ISBN 0-672-32696-5), Annexe B, Section VIII: Améliorations du calcul numérique C99.
  5. (dans le) Stephen Parlez, C-Primer plus: contient un index, Sams Publishing, 959 p. ((ISBN 0-672-32696-5), Annexe B, Section VIII: Améliorations du calcul numérique C99.
  6. « La bibliothèque GNU C – ISO aléatoire » (consulté le 18 juillet 2018).



Source link

Recent Posts