可以将两个字节的十六进制数合并成一个 uint16_t 类型的变量,如下所示:

uint8_t highByte = 0x11;
uint8_t lowByte = 0x2e;
uint16_t mapid = (highByte << 8) | lowByte;

这样就可以将 0x110x2e 合并成 1687228718。

如果现在打印结果是 4398,说明这两个字节的十六进制数是 0x110x06,而不是 0x110x2e。可以使用以下代码将 4398 转换为十六进制数:

uint16_t mapid = 4398;
printf('%x\n', mapid);

输出结果应该为 0x1106。如果确实需要将 0x110x06 合并成一个 uint16_t 类型的变量,可以按照以下方式处理:

uint8_t highByte = 0x11;
uint8_t lowByte = 0x06;
uint16_t mapid = (highByte << 8) | lowByte;

这样就可以将 0x110x06 合并成 4374。

如何将两个字节的十六进制数合并成 uint16_t 变量?

原文地址: https://www.cveoy.top/t/topic/oPcO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录