假设我可以在某种程度上丢失数字/精度。我发现通过网络发送一个64位(8字节)的号码有时会过度使用。我希望数据使用更少的带宽但保持一定的准确性。但我不知道在javascript中以32位或16位数据存储数字的正确方法。
答案 0 :(得分:0)
以下是如何将JavaScript编号转换为包含32位浮点数或16位无符号整数的数组缓冲区:
let float64 = 3.141592653589793238462643383279502884197;
let float32View = new DataView(new ArrayBuffer(4));
float32View.setFloat32(0, float64);
let uint16View = new DataView(new ArrayBuffer(2));
uint16View.setUint16(0, float64);
console.log(float64);
console.log(float32View.getFloat32(0));
console.log(uint16View.getUint16(0));