c - 从数组中提取字符作为 UINT32

标签 c arrays data-conversion

所以我有一个充满字节的缓冲区,我知道它应该至少有 16 个字节长。 我不关心字节 0 - 11。 我知道12到15这4个字节代表一个32位数字。

如何提取这些字节并将它们表示为 32 位数字。

最佳答案

您可以将每个字节转换为 8 位无符号数,并且可以使用位运算将这些数字组合为一个 32 位数字:

uint32_t result = 0;

for (int i = 12; i < 16; i++) {
    result <<= 8;
    result |= (uint8_t)bytes[i];
}

关于c - 从数组中提取字符作为 UINT32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407458/

相关文章:

C:对多维数组中 < 0 的值求和

javascript - 为什么不能将对象返回给 Javascript 的 Array.map() 并正确映射它?

c++ - 如何在 C++ 代码中使用 C 结构?

c - 递归main函数分析

c++ - 负 X,Y 坐标到线性数组索引?

c - 需要转换数据(字节值转换为十六进制,十六进制字符转换为ASCII字符)

python - 为什么 ~True 结果是-2?

javascript - 如何比较两种不同格式的javascript日期?

字符计数程序,字符作为整数问题

C atmega2560 大整数除法