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.

Další informace Funkce, Popis ...
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

Reference

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads