Math.h
From Wikipedia, the free encyclopedia
Remove ads
math.h je hlavičkový soubor standardní knihovny jazyka C, bývá také součástí jazyka C++. Tato knihovna implementuje matematické funkce pro reálná čísla (např. goniometrické funkce, logaritmy) s přesností double. Od standardu C99 definuje také funkce pro čísla s přesností float a long double. (Může obsahovat konstanty např. Ludolfovo číslo, Eulerovo číslo…). Hlavičkový soubor se do zdrojového kódu vkládá pomocí direktivy preprocesoru #include <math.h> (v C). V C++ oficiální standard místo math.h definuje knihovnu cmath, která implementuje stejnojmenné funkce jako math.h, musíme se tedy rozhodnout, kterou knihovnu chceme použít. Hlavička knihovny cmath se vkládá příkazem #include <cmath>, ale použití math.h v C++ z důvodu zpětné kompatibility také funguje.
Remove ads
Základní funkce knihovny math.h
Funkce knihovny math.h mají většinou "základní" variantu, která je v C-jazyku realizována s přesností double a potom variantu pro přesnost float a pro přesnost long double. Například:
- základní varianta je funkce sin, která má argument typu double a vrací hodnotu sinu v přesnosti double,
- funkce sinf má argument typu float a vrací hodnotu sinu jako float
- funkce sinl má argument typu long double a vrací hodnotu sinu jako long double
V jazyce C++ funguje math.h trochu odlišně, protože základní varianta funkce je definována s pomocí přetížení pro všechny přesnosti. U funkce sin potom záleží typ návratové hodnoty na typu argumentu:
- sin s argumentem typu float vrátí typ float
- sin s argumentem typu double vrátí typ double
- sin s argumentem typu long double vrátí typ long double
Varianty funkcí s přesností double a long double (tj. např. sinf a sinl) fungují v C++ stejně jako v klasickém C-jazyku.
Remove ads
Příklad použití
Uvedený příklad by měl fungovat v jazyce C i C++.
Funkce pow(x,y) (z anglického power, což znamená umocňovat) umocňuje reálný základ x reálným číslem y. Číslo x nesmí být záporné, pokud není y celé číslo. Číslo x nesmí být nulové, pokud je y menší nebo rovné 0. Záporných hodnot se můžeme zbavit použitím funkce fabs(x) .
Funkci pow je možné použít i pro odmocňování, například pow(x, 1./2.), je druhá odmocnina z x. Pro druhou odmocninu je lepší použít funkci sqrt(x).
#include <math.h>
#include <stdio.h>
int main()
{
double x, y, z;
printf("Zadejte cislo:");
scanf("%lf", &x);
y = sqrt(x);
z = pow(x, 3.);
printf("Druha odmocnina: %f\n", y);
printf("Treti mocnina: %f\n", z);
return 0;
}
Remove ads
Související články
- C (programovací jazyk)
- C++
- Komentář (programování)
- escape sekvence
- stdio.h
- date.h
- iostream
- algoritmus
Reference
- http://www.cppreference.com/wiki/cz/numeric/c/start Archivováno 25. 10. 2011 na Wayback Machine. – C++ Reference
- http://www.cplusplus.com/reference/clibrary/cmath/ Archivováno 24. 7. 2011 na Wayback Machine.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads