Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oblicza podłogę wartości.
Składnia
double floor(
double x
);
float floor(
float x
); // C++ only
long double floor(
long double x
); // C++ only
float floorf(
float x
);
long double floorl(
long double x
);
#define floor(X) // Requires C11 or later
Parametry
x
Wartość zmiennoprzecinkowa.
Wartość zwracana
Funkcje floor
zwracają wartość zmiennoprzecinkową, która reprezentuje największą liczbę całkowitą mniejszą niż lub równą x
. Nie ma zwracanego błędu.
Dane wejściowe | Wyjątek SEH | Wyjątek _matherr |
---|---|---|
± QNaN, IND | Brak | _DOMAIN |
floor
ma implementację korzystającą z rozszerzeń SIMD przesyłania strumieniowego 2 (SSE2). Aby uzyskać informacje i ograniczenia dotyczące korzystania z implementacji SSE2, zobacz _set_SSE2_enable
.
Uwagi
Język C++ umożliwia przeciążenie, dzięki czemu można wywoływać przeciążeniafloor
, które przyjmują i zwracają float
wartości.long double
W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, floor
zawsze przyjmuje i zwraca wartość double
.
Jeśli używasz makra <tgmath.h>floor()
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
floor , , floorf floorl |
<math.h> |
floor Makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// crt_floor.c
// This example displays the largest integers
// less than or equal to the floating-point values 2.8
// and -2.8. It then shows the smallest integers greater
// than or equal to 2.8 and -2.8.
#include <math.h>
#include <stdio.h>
int main( void )
{
double y;
y = floor( 2.8 );
printf( "The floor of 2.8 is %f\n", y );
y = floor( -2.8 );
printf( "The floor of -2.8 is %f\n", y );
y = ceil( 2.8 );
printf( "The ceil of 2.8 is %f\n", y );
y = ceil( -2.8 );
printf( "The ceil of -2.8 is %f\n", y );
}
The floor of 2.8 is 2.000000
The floor of -2.8 is -3.000000
The ceil of 2.8 is 3.000000
The ceil of -2.8 is -2.000000
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
ceil
, , ceilf
ceill
round
, , roundf
roundl
fmod
, fmodf