2011-10-27 3 views
1

フラッシュでは、Numberでビット単位の演算を実行すると、常に浮動小数点の部分が削除されます。
フラッシュで、数字のビット表現を取得する方法はありますかフラッシュ内のビット数

私はグーグルで試してみましたが、十分にフレーズできなかったか、見つけにくいですか?

編集、何かをクリアする:私は、具体的、それは一般的には数ではなくFlashで浮動小数点数を表すクラスです。私は書くことができたと思うフラッシュで浮動小数点数のビットrepresebtationを得る方法はありますか

答えて

4

私は私の頭の上から考えることができる唯一の方法は、このようなByteArray

何かを使用することです:私はそれが動作しません怖いです

 var x:Number = 1.532; 
     var ba:ByteArray = new ByteArray(); 
     ba.writeDouble(x); 
     ba.position = 0; 

     var high32bits:uint = ba.readUnsignedInt(); 
     var low32bits:uint = ba.readUnsignedInt(); 

     trace(high32bits.toString(16)); // 3ff88312 
     trace(low32bits.toString(16)); // 6e978d50 
+0

素晴らしいアイデア!すごくうまく動作しますが、機能します。私はまだそれを行うより良い方法があるかどうか疑問に思う。 – Maurycy

-1

バイナリ表現(2 = 10)だけを出力したい場合は、toString()のNumberの関数を使用し、基数の値を指定することができます。

ex。

var x:Number = 2; 
trace(x.toString(2)); 
+0

を ' (1.532).toString(2);と 'Number(1.0).toString(2);は両方とも' 1'を返します。 – Maurycy

関連する問題