isfinite
Von cppreference.com
| 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
Führen Sie diesen Code aus
#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
| (C99) |
klassifiziert den gegebenen Gleitkommawert (Funktionsmakro) |
| (C99) |
prüft, ob die gegebene Zahl unendlich ist (Funktionsmakro) |
| (C99) |
prüft, ob die gegebene Zahl NaN ist (Funktionsmakro) |
| (C99) |
prüft, ob die gegebene Zahl normal ist (Funktionsmakro) |
| C++ Dokumentation für isfinite
| |