Si quelqu'un avait une m�thode pour connaitre en une instruction C (ou � peine plus) pour conna�tre la valeur d'un float lorsqu'on a simplement sa repr�sentation hexa au format IEEE 32 bits, je serai preneur !
Merci d'avance !
Si quelqu'un avait une m�thode pour connaitre en une instruction C (ou � peine plus) pour conna�tre la valeur d'un float lorsqu'on a simplement sa repr�sentation hexa au format IEEE 32 bits, je serai preneur !
Merci d'avance !
La norme IEEE 754 ne d�finit pas de repr�sentation; elle indique combien de bits il faut pour chacune des parties, mais pas leurs positions respectives. Il y a au moins 3 repr�sentations utilis�es.
Il y a donc deux possibilit�s:
- ou tu connais la repr�sentation utilis�e et tu l'interpr�tes (je te conseille de regarder les fonctions ldexp? si tu prends cette voie)
- ou tu supposes que le format est celui de ta machine, tu stockes ta repr�sentation dans un tableau de unsigned char correctement align� (par exemple parce qu'il est dans une union), et puis tu fais un cast du tableau en flottant (�a donne un comportement d�fini par l'impl�mentation, acc�der au membre flottant de l'union donnerait un comportement ind�fini).
Je te remercie. J'avais finalement fait quelque chose de semblable � ta deuxi�me solution (pas d'unsigned char, mais �a y ressemble)...
Partager