Warum haben C/C++-Gleitkommatypen so seltsame Namen?

Warum haben C/C++-Gleitkommatypen so seltsame Namen?


C++ bietet drei Fließkommatypen:Float, Double und Long Double. Ich verwende in meinem Code nur selten Fließkommazahlen, aber wenn ich das tue, werde ich immer von Warnungen in harmlosen Zeilen wie

überrascht
float PiForSquares = 4.0;

Das Problem ist, dass das Literal 4.0 ein Double ist, kein Float - was irritierend ist.


Für Integer-Typen haben wir short int, int und long int, was ziemlich einfach ist. Warum hat C nicht einfach Short Float, Float und Long Float? Und wo um alles in der Welt kommt "doppelt" her?


BEARBEITEN:Es scheint, dass die Beziehung zwischen Floating-Typen der von Ganzzahlen ähnlich ist. double muss mindestens so groß wie float sein und long double ist mindestens so groß wie double. Es werden keine weiteren Garantien für Genauigkeit/Bereich gegeben.


Einige Code-Antworten


float PiForSquares = 4.0;
 float f = 4.0f;
long double f = 4.0l;