Est-il possible d'obtenir les octets bruts d'un objet Number à virgule flottante (IEEE-754) dans Actionscript? Ou alternativement, si je peux obtenir le signe (1 bit), la mantisse (52 bits) et l'exposant (11 bits), alors je peux faire le bitshifting moi-même et construire le tableau d'octets bruts. Je voudrais créer des représentations précises et compactes des valeurs numériques (hex, base-36, base-64, etc.) pour certaines situations de sérialisation.Représentation numérique à virgule flottante dans Actionscript?
Je pourrais aussi être intéressé par la construction de flotteurs compacts de 16 bits (demi-précision IEEE) et leur intégration dans des réseaux d'octets denses.
Par exemple, en Java, je pourrais écrire du code comme ceci pour créer des représentations de chaînes précises de doubles:
public static String hexRepresentation(double value) {
long bits = Double.doubleToLongBits(value);
String hex = Long.toHexString(bits);
return hex;
}
public static String b36Representation(double value) {
long bits = Double.doubleToLongBits(value);
String hex = Long.toString(bits, 36);
return hex;
}
public static void main(String[] args) {
System.out.println(hexRepresentation(123.456)); // 405edd2f1a9fbe77
System.out.println(hexRepresentation(Math.PI)); // 400921fb54442d18
System.out.println();
System.out.println(b36Representation(123.456)); // z8nf9qi2e5pz
System.out.println(b36Representation(Math.PI)); // z21th0e6pjiw
}
Si quelqu'un a des idées sur la façon d'accomplir la même chose en actionscript, j'aimerais à savoir. Mais jusqu'à présent, cela ne semble pas possible. Qu'en est-il de ces nouveaux opcodes dans le FP10 pour Alchemy? Y a-t-il quelque chose qui vous permet d'obtenir les octets bruts d'une manière ou d'une autre?
Ah. Bien sûr! C'est juste comme jeter un pointeur float à un pointeur int en C. Très agréable. – benjismith