Warum sind c/c++ - floating-point-Typen, so seltsam benannt?

C++ bietet drei Fließkomma-Typen: float, double und long double. Ich habe selten mit floating-point in meinem code, aber wenn ich das mache, ich bin immer wieder gefangen von Warnungen auf harmlosen Zeilen wie

float PiForSquares = 4.0;

Das problem ist, dass die wörtliche 4.0 ist ein Doppel -, nicht-Schwimmer - und Das ist irritierend.

Für integer-Typen, wir haben short int, int und long int, das ist ziemlich einfach. Warum nicht C nur kurz, float, float und long float? Und wo auf der Erde haben "double" her?

EDIT: Es scheint die Beziehung zwischen floating-Typen ist ähnlich wie bei Ganzzahlen. doppelklicken Sie muss mindestens so groß wie float und long double mindestens so groß wie double. Keine anderen Garantien Präzision/Reichweite gemacht werden.

  • 4.0 ist nicht ein string-literal ist; es ist double-literal!
  • lange schweben existierte, bevor die Doppel-und Doppel wurde zu einem synonym für lange schweben; es wurde entfernt, in der C89-standard.
  • was ich gern hätte ist "double float" 🙂
  • Es gibt viele Garantien umliegenden <float.h>, insbesondere Dinge wie FLT_DIG (ich denke, es ist garantiert in der Lage sein zu vertreten, 5 Ziffern, also zahlen von 0 bis 99999).
Schreibe einen Kommentar