浮動小数点(IEEE-754)Numberオブジェクトの生のバイトをActionscriptで取得できますか?Actionscriptの浮動小数点数値表現ですか?
また、符号(1ビット)、仮数(52ビット)、指数(11ビット)を得ることができれば、ビットシフトを行い、生のバイト配列を構築できます。
私は、特定のシリアライズの状況でNumber値(16進数、36進数、64進数など)の正確でコンパクトな文字列表現を作成したいと考えています。
コンパクトな16ビット浮動小数点(IEEE半精度)を構築し、密なバイト配列にパックすることもできます。
たとえば、Javaでは、私はダブルスの正確な文字列表現を作成するには、このようなコードを書くかもしれませんが:
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
}
誰もがActionScriptで同じことを実現する方法のための任意のアイデアを持っている場合、私は大好きです知っている。しかし、今のところそれは可能ではないようです。 AlchemyのFP10の新しいオペコードはどうですか?あなたは何とか生のバイトを得ることができる何かがありますか?
Ah。もちろん!これは、Cのintポインタへのfloatポインタのキャストと同じです。とてもいいです。 – benjismith