gpt4 book ai didi

将 3 个无符号字符组合成一个无符号整数

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:10 25 4
gpt4 key购买 nike

我需要在 C 中有一个无符号的 3 字节类型。我正在寻找一种方法将它们打包成一个无符号整数。

这是安全的还是需要将其存储在 24 位大小的数组/结构中?

unsigned int pack_3Byte(unsigned char b1, unsigned char b2, unsigned char b3)
{
return (b1 << 16) | (b2 << 8) | (b3);
}

最佳答案

您的代码是正确的,但正如 Olaf 所说,您应该使用类型 uint8_t 和 uint32_t 以确保您的类型确实符合您期望的宽度。

现在这可能不是问题,但您还应该知道整数中的字节在不同的处理器上以不同的顺序存储。这叫做 endianness .

关于将 3 个无符号字符组合成一个无符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594478/

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