Network programming 网络通信中的量化归一化向量

Network programming 网络通信中的量化归一化向量,network-programming,bitmask,quantization,bit-masks,Network Programming,Bitmask,Quantization,Bit Masks,我想知道是否可以以某种较短的数据类型发送Vector3(float x,float y,float z),因为现在我发送三个float(3*4字节)。我说的是规范化向量,它只能为每个向量部分保持-1f到+1f的范围,这就是为什么我想知道是否有可能以某种方式移位位(或类似的东西),并将所有三个值仅放在一个4字节的长度值,甚至更短 根据经验法则,如果您愿意放弃精度,您可以“始终”将数字更紧密地“打包”到位中,并且与IEEE浮点数标准相比,您愿意放弃的精度控制着压缩程度。那么告诉我们——你愿意放弃多少

我想知道是否可以以某种较短的数据类型发送Vector3(float x,float y,float z),因为现在我发送三个float(3*4字节)。我说的是规范化向量,它只能为每个向量部分保持-1f到+1f的范围,这就是为什么我想知道是否有可能以某种方式移位位(或类似的东西),并将所有三个值仅放在一个4字节的长度值,甚至更短

根据经验法则,如果您愿意放弃精度,您可以“始终”将数字更紧密地“打包”到位中,并且与IEEE浮点数标准相比,您愿意放弃的精度控制着压缩程度。那么告诉我们——你愿意放弃多少精度?我认为小数点后3位的精度是可以的,你可以把3个10位的数字压缩成4个字节。一个10位的数字可以有1024个不同的值,所以你应该能够旋转这些位来满足你的需要。我建议在编码前给每个数字加1(解码后减去1),这样你就可以忘记符号了。谢谢。加1来解符号是个好主意。不幸的是,我是位运算新手。你能给我举个例子,我怎样才能打包一些标准化向量?谢谢。我写评论是因为我不愿意写代码。