Salut quand réinterprétant une chaîne de 32 bits de bits on pourrait finir par avoir un nombre à virgule flottante valide:Réinterpréter la chaîne de bits d'une plage int non signée [uint (a1) uint (a2)] à une plage de nombres à virgule flottante [float (a1) float (a2)] est-ce possible?
uint: 1101004800, float: 20.000000
disent maintenant je travaille avec un outil d'analyse statique cela définit les opérations sur des plages de valeurs au lieu de valeurs uniques.
Une telle opération que je considère est de réinterpréter la valeur de chaîne binaire de 32 bits d'une valeur non signée dans un flottant.
Est-ce qu'une plage de deux entiers non signés [uint (a1) uint (a2)] lors de la conversion à float [float (a1) float (a2)], encore une plage continue?
Je sais que float a des valeurs spéciales pour NaN, infini. Mais sinon, cette gamme-conversion serait-elle valable?
Les numéros suivants suggéreraient est le cas:
int: 1101004800, float: 20.000000
int: 1101004801, float: 20.000002
int: 1101004802, float: 20.000004
int: 1101004803, float: 20.000006
int: 1101004804, float: 20.000008
int: 1101004805, float: 20.000010
int: 1101004806, float: 20.000011
int: 1101004807, float: 20.000013
int: 1101004808, float: 20.000015
int: 1101004809, float: 20.000017
J'ai lu here que « la séquence de bits, permet nombres à virgule flottante à comparer et triées correctement même lorsque les interpréter comme des entiers. "