现在有9个字节这9个字节是由16bit 36bit 20bit组成我现在想取20bit的值做
时间: 2023-12-07 18:04:06 浏览: 115
一种关于16bit转8bit位宽转换的实现
抱歉,我之前误解了你的问题。根据你的描述,每个字节都包含了不同位数的数据。如果你想从这9个字节中提取出20位的数据,可以按照以下步骤进行:
1. 将第一个字节的高4位与第二个字节的所有位组合成一个16位的整数。可以使用位运算符进行操作:
```
value = (first_byte << 12) | (second_byte << 4) | (third_byte >> 4)
```
2. 取出前面的20位数据,将其右移12位,这样最低的12位会被丢弃:
```
value = value >> 12
```
现在,你可以从`value`中获取到你想要的20位数据。
请注意,这些操作假设你的字节顺序是大端序(高位字节在前,低位字节在后)。如果你的字节顺序是小端序,则需要进行相应调整。
阅读全文