所以我有一个充满字节的缓冲区,我知道它应该至少有 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/