Namensräume
Varianten
Aktionen

isfinite

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)
(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
isfinite
(C99)
(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>
#define isfinite(arg) /* implementation defined */
(seit C99)

Bestimmt, ob die gegebene Gleitkommazahl arg einen endlichen Wert hat, d.h. ob sie normal, subnormal oder Null ist, aber nicht unendlich oder NaN. Das Makro gibt einen ganzzahligen Wert zurück.

FLT_EVAL_METHOD wird ignoriert: Auch wenn das Argument mit mehr Bereich und Präzision als sein Typ ausgewertet wird, wird es zuerst in seinen semantischen Typ konvertiert, und die Klassifizierung basiert darauf.

Inhalt

[bearbeiten] Parameter

arg - Gleitkommawert

[bearbeiten] Rückgabewert

Nicht-Null ganzzahliger Wert, wenn arg einen endlichen Wert hat, andernfalls 0.

[bearbeiten] Beispiel

#include <float.h>
#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("isfinite(NAN)         = %d\n", isfinite(NAN));
    printf("isfinite(INFINITY)    = %d\n", isfinite(INFINITY));
    printf("isfinite(0.0)         = %d\n", isfinite(0.0));
    printf("isfinite(DBL_MIN/2.0) = %d\n", isfinite(DBL_MIN / 2.0));
    printf("isfinite(1.0)         = %d\n", isfinite(1.0));
    printf("isfinite(exp(800))    = %d\n", isfinite(exp(800)));
}

Mögliche Ausgabe

isfinite(NAN)         = 0
isfinite(INFINITY)    = 0
isfinite(0.0)         = 1
isfinite(DBL_MIN/2.0) = 1
isfinite(1.0)         = 1
isfinite(exp(800))    = 0

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.3.2 Das Makro isfinite (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.3.2 Das Makro isfinite (p: TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.3.2 Das Makro isfinite (p: 236)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.3.2 Das Makro isfinite (p: 216-217)

[bearbeiten] Siehe auch

klassifiziert den gegebenen Gleitkommawert
(Funktionsmakro) [bearbeiten]
(C99)
prüft, ob die gegebene Zahl unendlich ist
(Funktionsmakro) [bearbeiten]
(C99)
prüft, ob die gegebene Zahl NaN ist
(Funktionsmakro) [bearbeiten]
prüft, ob die gegebene Zahl normal ist
(Funktionsmakro) [bearbeiten]
C++ Dokumentation für isfinite