Scroll to navigation

floor(3) Library Functions Manual floor(3)

NAZWA

floor, floorf, floorl - największa wartość całkowita nie większa od argumentu

BIBLIOTEKA

Biblioteka matematyczna (libm, -lm)

SKŁADNIA

#include <math.h>
double floor(double x);
float floorf(float x);
long double floorl(long double x);

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

floorf(), floorl():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS

Funkcje te zwracają największą wartość całkowitą nie większą od x.

Na przykład floor(0.5) zwraca 0.0, a floor(-0.5) zwraca -1.0.

WARTOŚĆ ZWRACANA

Funkcje te zwracają zaokrągloną w dół wartość x.

Jeśli x jest całkowite, +0, -0, NaN lub nieskończoność, to zwracane jest x.

BŁĘDY

Nie występują.

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
floor(), floorf(), floorl() Bezpieczeństwo wątkowe MT-bezpieczne

STANDARDY

C11, POSIX.1-2008.

HISTORIA

C99, POSIX.1-2001.

Wariant zwracający wartość typu double jest zgodny również z SVr4, 4.3BSD, C89.

SUSv2 oraz POSIX.1-2001 zawierają tekst dotyczący przepełnienia (które może spowodować ustawienie errno na ERANGE lub spowodować wyjątek FE_OVERFLOW). W praktyce wynik nie może spowodować przepełnienia na żadnej współczesnej maszynie, więc obsługa tego błędu była po prostu bezsensowna. (Dokładniej, przepełnienie może wystąpić, tylko gdy wartość maksymalna wykładnika jest mniejsza niż liczba bitów mantysy. Według standardu IEEE-754 dla 32 i 64-bitowych liczb zmiennoprzecinkowych wartość maksymalna wykładnika wynosi 127 (odpowiednio 1023), a liczba bitów mantysy, w tym bit niejawny, wynosi 24 (odpowiednio 53)). Usunięto to w POSIX.1-2008.

ZOBACZ TAKŻE

ceil(3), lrint(3), nearbyint(3), rint(3), round(3), trunc(3)

TŁUMACZENIE

Tłumaczenie niniejszej strony podręcznika: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

16 czerwca 2024 r. Linux man-pages 6.9.1