Concetti Chiave
- La libreria math.h include funzioni matematiche comuni necessarie per eseguire calcoli complessi in C.
- HUGE_VAL è l'unica macro della libreria, rappresenta un valore troppo grande per essere rappresentato.
- Le funzioni della libreria math.h lavorano principalmente con input e output di tipo double.
- Include funzioni per trigonometria (es. coseno, seno, tangente) e logaritmi (es. logaritmo naturale, base 10, base 2).
- Supporta operazioni avanzate come il calcolo di potenze, radici quadrate e manipolazione di numeri in virgola mobile.
La libreria math.h
Gli operatori in C non permettono di svolgere calcoli complessi, le funzioni matematiche più comuni sono presenti nella libreria math.h (nel caso di compilatore a riga è necessario includere il flag –lm al nome del file dopo .c), la quale ha una sola macro e un certo numero di funzioni, queste per essere svolte usano input e output double.
L’unica macro presente è HUGE_VAL, valore troppo grande per essere rappresentato, questo valore può indicare HUGE_VAL = ∞ mentre –HUGE_VAL e -∞.
double acos(double x) -> arcocoseno
double asin(double x) -> arcoseno
double atan(double x) -> arcotangente
double atan2(doubly y, double x) -> arcotangente di due parametri
double cos(double x) -> coseno
double cosh(double x) -> coseno iperbolico
double sin(double x) -> seno
double sinh(double x) -> seno iperboliico
double tan(double x) -> tangente
double tanh(double x) -> tenagente iperbolico
double exp(double x) -> esponenziale
double frexp(double valile, int*exp) -> funzione a Potenza didue
double Idexp(double x, int exp) -> operazione in virgola mobile
double log(double x) -> logaritmo naturale
double log10(double x) -> logaritmo in base 10
double log2(double x) -> logaritmo inbase 2
double modf(double value, double *iptr) -> estrarre la parte frazionaria e intera di x
double pow(double x, double y) -> elevamento a Potenza
double sqrt(double x) -> radice quadrata
double ceil(double x) -> più piccolo intero non minore di x
double fabs(double x) -> valore assoluto
double floor(double x) -> più grande intero non maggiore di x
double fmod(double x, double y) -> resto del numero in virgola mobile