Namensräume
Varianten
Aktionen

roundeven, roundevenf, roundevenl

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
(C99)(C99)(C99)
roundeven
(C23)
(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       roundevenf( float arg );
(1) (seit C23)
double      roundeven( double arg );
(2) (seit C23)
long double roundevenl( long double arg );
(3) (seit C23)
Definiert in Header <tgmath.h>
#define roundeven( arg )
(4) (seit C23)
1-3) Berechnet den nächstgelegenen ganzzahligen Wert zu arg (im Fließkommaformat) und rundet Halbierungsfälle zum nächstgelegenen geraden Integer, unabhängig vom aktuellen Rundungsmodus.
4) Typ-generische Makro: Wenn arg vom Typ long double ist, wird roundevenl aufgerufen. Andernfalls, wenn arg einen ganzzahligen Typ oder den Typ double hat, wird roundeven aufgerufen. Andernfalls wird roundevenf aufgerufen.

Inhalt

[bearbeiten] Parameter

arg - Gleitkommawert

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird der nächstgelegene ganzzahlige Wert zu arg zurückgegeben, wobei Halbierungsfälle zum nächstgelegenen geraden Integer gerundet werden.

[bearbeiten] Fehlerbehandlung

Diese Funktion unterliegt keinen der Fehler, die in math_errhandling angegeben sind.

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

  • FE_INEXACT wird niemals ausgelöst.
  • 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] Beispiel

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

Mögliche Ausgabe

roundeven(+2.4) = +2.0
roundeven(-2.4) = -2.0
roundeven(+2.5) = +2.0
roundeven(-2.5) = -2.0
roundeven(+2.6) = +3.0
roundeven(-2.6) = -3.0
roundeven(+3.5) = +4.0
roundeven(-3.5) = -4.0
roundeven(-0.0) = -0.0
roundeven(-Inf) = -inf

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.9.8 The roundeven functions (S. 265-266)
  • 7.27 Type-generic math <tgmath.h> (S. 386-390)
  • F.10.6.8 The roundeven functions (S. 532)

[bearbeiten] Siehe auch

(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
rundet auf eine ganze Zahl gemäß der aktuellen Rundungsregel mit
Ausnahme, wenn das Ergebnis abweicht
(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]