Namensräume
Varianten
Aktionen

float_t, double_t

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)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
float_tdouble_t
(C99)(C99)
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert in Header <math.h>
typedef /* implementierungsabhängig */ float_t
(seit C99)
typedef /* implementierungsabhängig */ double_t
(seit C99)

Die Typen float_t und double_t sind Gleitkommatypen, die mindestens so breit sind wie float bzw. double, und wobei double_t mindestens so breit ist wie float_t. Der Wert von FLT_EVAL_METHOD bestimmt die Typen von float_t und double_t.

FLT_EVAL_METHOD Erklärung
0 float_t und double_t entsprechen float bzw. double
1 sowohl float_t als auch double_t entsprechen double
2 sowohl float_t als auch double_t entsprechen long double
Sonstiges sowohl float_t als auch double_t sind implementierungsabhängig

[bearbeiten] Beispiel

#include <float.h>
#include <math.h>
#include <stdio.h>
 
#define SHOW(expr) printf("%s = %d\n", #expr, (int)(expr))
 
int main()
{
    SHOW(FLT_EVAL_METHOD);
    SHOW(sizeof(float));
    SHOW(sizeof(float_t));
    SHOW(sizeof(double));
    SHOW(sizeof(double_t));
}

Mögliche Ausgabe

FLT_EVAL_METHOD = 1
sizeof(float) = 4
sizeof(float_t) = 8
sizeof(double) = 8
sizeof(double_t) = 8

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12 Mathematik <math.h> (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12 Mathematik <math.h> (S. TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12 Mathematik <math.h> (S. 231)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12 Mathematik <math.h> (S. 212)

[bearbeiten] Siehe auch

Gibt an, mit welcher Präzision alle arithmetischen Operationen durchgeführt werden
(Makro-Konstante)