C/ceil

< C
(Przekierowano z C/round)

DeklaracjaEdytuj

double      ceil (double      x);
float       ceilf(float       x);
long double ceill(long double x);

double      floor (double      x);
float       floorf(float       x);
long double floorl(long double x);

double      nearbyint (double      x);
float       nearbyintf(float       x);
long double nearbyintl(long double x);

double      rint (double      x);
float       rintf(float       x);
long double rintl(long double x);

long        lrint (double      x);
long        lrintf(float       x);
long        lrintl(long double x);

long long   llrint (double      x);
long long   llrintf(float       x);
long long   llrintl(long double x);

double      round (double      x);
float       roundf(float       x);
long double roundl(long double x);

long        lround (double      x);
long        lroundf(float       x);
long        lroundl(long double x);

long long   llround (double      x);
long long   llroundf(float       x);
long long   llroundl(long double x);

double      trunc (double      x);
float       truncf(float       x);
long double truncl(long double x);

double      modf (double      x, double      *ptr);
float       modff(float       x, float       *ptr);
long double modfl(long double x, long double *ptr);

Plik nagłówkowyEdytuj

math.h

ArgumentyEdytuj

x
argumenty funkcji
ptr
wskaźnik do części ułamkowej

OpisEdytuj

Funkcje z przyrostkami "f" i "l" to inne wersje odpowiedniej funkcji bez przyrostka operujące na innych typach danych. Ponadto, funkcje z przedrostkiem "l" lub "ll" to inne wersje odpowiadających funkcji bez przedrostka zwracające wartości typu long lub long long. Z tego powodu w poniższym opisie odwołanie do konkretnej funkcji będzie oznaczać odwołanie się do wszystkich 3 wersji bez lub z przyrostkiem oraz do wszystkich wersji z przedrostkiem jeżeli takie istnieją.

Funkcje obliczają następujące wartości:

  • ceil - sufit argumentu, czyli najmniejszą liczbę całkowitą większą lub równą x,
  • floor - podłogę argumentu, czyli największa liczba całkowita mniejsza lub równa x,
  • nearbyint - argument zaokrąglony do liczby całkowitej zgodnie z przyjętym kierunkiem zaokrąglania,
  • rint - podobnie jak nearbyint argument zaokrąglony do liczby całkowitej zgodnie z przyjętym kierunkiem zaokrąglania, przy czym możliwe jest zaistnienie błędu niedokładności,
  • round - argument zaokrąglony do najbliższej liczby całkowitej; jeżeli istnieją dwie takie liczby zaokrągla do tej o większym module,
  • trunc - argument zaokrąglony w stronę zera, tj. liczbę całkowitą o największym module mniejszym lub równym modułowi x,
  • modf - argument zaokrąglony w stronę zera (jak trunc) i dodatkowo w zmiennej wskazywanej przez ptr zapisuje część ułamkową argumentu.

Wartość zwracanaEdytuj

Wartości odpowiednich funkcji zgodnie z opisem powyżej.

W przypadku funkcji z przedrostkami "l" i "ll", jeżeli wartość nie mieści się w typie to zwracana wartość jest nieokreślona.

Przykład użyciaEdytuj

UwagiEdytuj

Wersje funkcji z przyroskiem "f" i "l" (tzn. wersje operujące na zmiennych typu float i long double) zostały wprwoadzone dopiero w standardzie C99. Również funkcje nearbyint, rint, lrint, llrint, lround oraz llround zostały wprowadzone dopiero w standardzie C99.

W przypadku użycia funkcji matematycznych może zaistnieć konieczność podania odpowiedneigo argumentu linkerowi, aby ten połączył program z biblioteką matematyczną. Np. na systemach GNU/Linux jest to -lm.