gpt4 book ai didi

C++ 原始数据类型 : how to read unsigned 30 bits

转载 作者:行者123 更新时间:2023-11-30 00:41:39 26 4
gpt4 key购买 nike

我有一个 unsigned chars 的数组.基本上我有一个位数组。

我知道前 16 位对应于一个无符号整数,我使用 (u16)(*(buffer+ 1) << 8 | *abcBuffer) 检索它的值

然后是一个名为 u30 的数据类型描述如下: u30 - variable length encoded 30-bit unsigned integer value . u30 的变量编码使用一到五个字节,具体取决于编码值的大小。每个字节将其低七位贡献给该值。如果设置了一个字节的高(第 8)位,则下一个字节也是该值的一部分。

我不明白这个描述:它说 u30 (三十!)然后它说 1 到 5 个字节?我还有另一种数据类型 s24 - three-byte signed integer value.

应该如何读取(检索它们的值)这种非典型数据类型?任何帮助将不胜感激。

非常感谢!

最佳答案

i=0;    
val = buf[i]&0x7F;
while (buf[i++]&0x80)
{
val |= (buf[i]&0x7F)<<(i*7);
}

关于C++ 原始数据类型 : how to read unsigned 30 bits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3230868/

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