gpt4 book ai didi

javascript - 如何将 "uint16"值转换为半精度 float (即 "float16")?

转载 作者:行者123 更新时间:2023-12-03 05:34:53 25 4
gpt4 key购买 nike

我必须解压一个二进制文件,其中某些值是半精度 float (即 float16 )。

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

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

最佳答案

Javascript 中的所有数字变量都被视为 64 位 float ( double )。

一旦您将其从 DataView 读取到变量中,它将采用这种形式。

DataView 对象上的 set* 方法允许您使用各种打包形式在 ArrayBuffer 中设置字节:

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

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

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

对于有符号 int16:

dv.setInt16(0, -12);
dv.getInt16(0); // >>> -12

关于javascript - 如何将 "uint16"值转换为半精度 float (即 "float16")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40775670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com