Question

Pourquoi pas C ++ Avoir en-tête pour les flotteurs comme il a pour les entiers?

EDIT:

Par Je veux dire en-tête qui fournit typedefs pour float et double. Tout comme qreal typedef dans Qt. Espérons que ma question est claire maintenant.

Était-ce utile?

La solution

Souvent, une application a besoin exactement 16 bits pour un entier pour, disons, un champ de bits, mais ayant exactement 16 bits pour un flotteur est un peu inutile. Bits dans un manipuler entier est facile, donc avoir exactement 16 est agréable. La manipulation de bits dans un flotteur nécessite la coulée à un nombre entier, ce qui rend un type de float16 plutôt étrangère.

De même, ayant un type intégré capable de stocker (et effectuer les mathématiques sur) des pointeurs est utile, mais qui a jamais besoin de convertir une valeur de pointeur sur une valeur en virgule flottante, puis réaliser des opérations mathématiques à virgule flottante dessus, puis reconvertir en un pointeur?

Le fait est que la plupart des fonctions en stdint.h (ou cstdint C ++, sauf que stdint.h est un en-tête de C99 et ne fait pas techniquement partie de C ++) ne concerne pas les valeurs à virgule flottante.

Autres conseils

Vous cherchez peut-être <float.h> et son C ++ frère <cfloat> à la place?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top