的AS3 Number類符合IEEE 754,並且是相同的的Javascript數類。
我沒有搜索AS3庫,而是搜索了一些只能在AS3中稍作修改的Javascript代碼。
在this site我發現這相當高密度浮子解析器:
p.decodeFloat = function(data, precisionBits, exponentBits){
var b = new this.Buffer(this.bigEndian, data);
b.checkBuffer(precisionBits + exponentBits + 1);
var bias = Math.pow(2, exponentBits - 1) - 1, signal = b.readBits(precisionBits + exponentBits, 1), exponent = b.readBits(precisionBits, exponentBits), significand = 0,
divisor = 2, curByte = b.buffer.length + (-precisionBits >> 3) - 1;
do
for(var byteValue = b.buffer[ ++curByte ], startBit = precisionBits % 8 || 8, mask = 1 << startBit; mask >>= 1; (byteValue & mask) && (significand += 1/divisor), divisor *= 2);
while(precisionBits -= startBit);
return exponent == (bias << 1) + 1 ? significand ? NaN : signal ? -Infinity : +Infinity : (1 + signal * -2) * (exponent || significand ? !exponent ? Math.pow(2, -bias + 1) * significand : Math.pow(2, exponent - bias) * (1 + significand) : 0);
};
如果你喜歡你的代碼可調試以及功能,你可能會發現this code是更有幫助吧。