Namensräume
Varianten
Aktionen

floor, floorf, floorl

Von cppreference.com
< c‎ | numerik‎ | math
 
 
 
Allgemeine mathematische Funktionen
Funktionen
Grundlegende Operationen
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/Minimum-Operationen
(C99)
(C99)
Exponentialfunktionen
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
Potenzfunktionen
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
Trigonometrische und hyperbolische Funktionen
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
Nächste ganze Gleitkommazahlen
floor
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Gleitkomma-Manipulation
(C99)(C99)
(C99)(C23)
(C99)
Verengende Operationen
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quanten- und Quantenexponent-Funktionen
Dezimal-Neu-Kodierungsfunktionen
Gesamtordnung und Payload-Funktionen
Klassifizierung
(C99)
(C99)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert in Header <math.h>
float       floorf( float arg );
(1) (seit C99)
double      floor( double arg );
(2)
long double floorl( long double arg );
(3) (seit C99)
Definiert in Header <tgmath.h>
#define floor( arg )
(4) (seit C99)
1-3) Berechnet den größten ganzzahligen Wert, der nicht größer als arg ist.
4) Typ-generische Makro: Wenn arg den Typ long double hat, wird floorl aufgerufen. Andernfalls, wenn arg einen ganzzahligen Typ oder den Typ double hat, wird floor aufgerufen. Andernfalls wird floorf aufgerufen.

Inhalt

[bearbeiten] Parameter

arg - Gleitkommawert

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird der größte ganzzahlige Wert zurückgegeben, der nicht größer als arg ist, d.h. ⌊arg⌋.

Rückgabewert
math-floor.svg
Argument

[bearbeiten] Fehlerbehandlung

Fehler werden wie in math_errhandling angegeben gemeldet.

Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt

  • Der aktuelle Rundungsmodus hat keine Auswirkung.
  • Wenn arg ±∞ ist, wird es unverändert zurückgegeben.
  • Wenn arg ±0 ist, wird es unverändert zurückgegeben.
  • Wenn arg NaN ist, wird NaN zurückgegeben.

[bearbeiten] Hinweise

FE_INEXACT kann ausgelöst werden (ist aber nicht zwingend erforderlich), wenn ein endlicher Nicht-Ganzzahlwert gerundet wird.

Die größten darstellbaren Gleitkommazahlen sind in allen Standard-Gleitkommaformaten exakte ganze Zahlen, daher kann diese Funktion für sich allein niemals überlaufen; das Ergebnis kann jedoch jeden Ganzzahltyp (einschließlich intmax_t) überlaufen, wenn es in einer Ganzzahlvariablen gespeichert wird.

[bearbeiten] Beispiel

#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("floor(+2.7) = %+.1f\n", floor(2.7));
    printf("floor(-2.7) = %+.1f\n", floor(-2.7));
    printf("floor(-0.0) = %+.1f\n", floor(-0.0));
    printf("floor(-Inf) = %+f\n",   floor(-INFINITY));
}

Mögliche Ausgabe

floor(+2.7) = +2.0
floor(-2.7) = -3.0
floor(-0.0) = -0.0
floor(-Inf) = -inf

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.9.2 Die floor-Funktionen (S. TBD)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
  • F.10.6.2 Die floor-Funktionen (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.9.2 Die floor-Funktionen (S. TBD)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
  • F.10.6.2 Die floor-Funktionen (S. TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.9.2 Die floor-Funktionen (S. 251)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • F.10.6.2 Die floor-Funktionen (S. 526)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.9.2 Die floor-Funktionen (S. 232)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • F.9.6.2 Die floor-Funktionen (S. 463)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.5.6.3 Die floor-Funktion

[bearbeiten] Siehe auch

(C99)(C99)
berechnet die kleinste ganze Zahl, die nicht kleiner als der gegebene Wert ist
(Funktion) [bearbeiten]
(C99)(C99)(C99)
rundet auf die größte ganze Zahl, deren Betrag nicht größer als der gegebene Wert ist
(Funktion) [bearbeiten]
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
rundet auf die nächste ganze Zahl, wobei bei Halb-Wert-Fällen von Null weg gerundet wird
(Funktion) [bearbeiten]