在閃存中,對數字執行按位操作總是剝離掉浮點數部分。
有沒有辦法在閃存中獲得數字的位表示?閃存中的位數
我嘗試了谷歌搜索,但要麼我不能很好地說它,或者它不是那麼容易找到。
編輯,清除的東西了:我專門數,那是代表浮點數在Flash中,一般沒有數量級。我想我可以寫有沒有一種方法,在閃存中獲得浮點數的位表示?
在閃存中,對數字執行按位操作總是剝離掉浮點數部分。
有沒有辦法在閃存中獲得數字的位表示?閃存中的位數
我嘗試了谷歌搜索,但要麼我不能很好地說它,或者它不是那麼容易找到。
編輯,清除的東西了:我專門數,那是代表浮點數在Flash中,一般沒有數量級。我想我可以寫有沒有一種方法,在閃存中獲得浮點數的位表示?
,我能想到的把我的頭頂部的唯一方法是使用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
如果您只是想打印出二進制表示(即2 = 10),則可以使用Number的toString()函數並指定一個基數值。
ex。
var x:Number = 2;
trace(x.toString(2));
恐怕也不起作用:' Number(1.532).toString(2);'和'Number(1.0).toString(2);'都給出'1'。 – Maurycy
好主意!非常勤奮,但它很有效。我仍然想知道是否還有更好的方法。 – Maurycy