如何将“uint16”值转换为半精度浮点数(即“float16”)?

时间:2016-11-23 23:12:36

标签: javascript binary

我必须解压缩二进制文件,其中一些值是半精度浮点数(即float16)。

我使用规范API dataView.getUint16(0)从二进制流中读取它。

如何使用JavaScript转换uint16格式back to float16`格式的数字?

1 个答案:

答案 0 :(得分:1)

Javascript中的所有数字变量都被视为64位浮点数(双精度数)。

一旦从DataView将其读入变量,就会采用该形式。

DataView对象上的 Select orderid, count(orderid) as Number_Of_Order_Items , count(orderid) * orderprice as Total_Order_Price from orderdetail Group by orderid order by orderid 方法允许您使用各种打包形式在ArrayBuffer中设置字节:

set*

但你必须小心自己夹紧它:

dv.setUint16(0, 12);
dv.getUint16(0); // >>> 12

签名int16:

dv.setUint16(0, -12);
dv.getUint16(0); // >>> 65524