Namensräume
Varianten
Aktionen

isnormal

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
(C99)
(C99)
isnormal
(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 isnormal(arg) /* implementierungsabhängig */
(seit C99)

Bestimmt, ob die gegebene Gleitkommazahl arg normal ist, d.h. weder Null, subnormal, unendlich noch NaN ist. 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

Ein nicht-null ganzzahliger Wert, wenn arg normal ist, andernfalls 0.

[bearbeiten] Beispiel

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

Ausgabe

isnormal(NAN)         = 0
isnormal(INFINITY)    = 0
isnormal(0.0)         = 0
isnormal(DBL_MIN/2.0) = 0
isnormal(1.0)         = 1

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.3.5 Das Makro isnormal (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.3.5 Das Makro isnormal (p: TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.3.5 Das Makro isnormal (p: 237)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.3.5 Das Makro isnormal (p: 217-218)

[bearbeiten] Siehe auch

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