Types à virgule flottante de taille fixe
Dans la quête d'une représentation précise et d'un stockage efficace, la standardisation des types à virgule flottante de taille fixe a a été un sujet de discussion dans les communautés C et C. Alors que C99, boost/cstdint.hpp et C 0x fournissent des types entiers de taille fixe comme int32_t, la question se pose : existe-t-il des types à virgule flottante de taille fixe analogues ?
La norme actuelle
La réponse est un non catégorique. Actuellement, ni les normes C ni C n'offrent de types à virgule flottante de taille fixe. Cela contraste avec les types entiers, où la présence de int32_t et de types similaires garantit une représentation cohérente sur différentes plates-formes.
L'absence de float32_t
L'absence de un type comme float32_t est particulièrement remarquable car float n'est pas garanti comme étant un format binaire à virgule flottante en C ou en C . Selon le compilateur, float peut ou non adhérer au format binaire IEEE-754 32 bits.
Garanties et mises en garde du compilateur
En pratique, float est souvent implémenté en tant que type unique IEEE-754 sur de nombreuses plates-formes non embarquées. Cependant, il est essentiel d'être conscient que certains compilateurs peuvent évaluer des expressions dans un format plus large, introduisant potentiellement des divergences dans les opérations numériques.
Développements futurs
Des efforts sont en cours pour résoudre ce problème. Un groupe de travail étudie l'ajout de liaisons en langage C pour la révision 2008 de l'IEEE-754. Si une telle mesure était prise en C, il est probable que la norme C finirait par emboîter le pas, ouvrant la voie à des types à virgule flottante standardisés de taille fixe dans le futur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!