如何将两个字节的十六进制数合并成 uint16_t 变量?
可以将两个字节的十六进制数合并成一个 uint16_t 类型的变量,如下所示:
uint8_t highByte = 0x11;
uint8_t lowByte = 0x2e;
uint16_t mapid = (highByte << 8) | lowByte;
这样就可以将 0x11 和 0x2e 合并成 1687228718。
如果现在打印结果是 4398,说明这两个字节的十六进制数是 0x11 和 0x06,而不是 0x11 和 0x2e。可以使用以下代码将 4398 转换为十六进制数:
uint16_t mapid = 4398;
printf('%x\n', mapid);
输出结果应该为 0x1106。如果确实需要将 0x11 和 0x06 合并成一个 uint16_t 类型的变量,可以按照以下方式处理:
uint8_t highByte = 0x11;
uint8_t lowByte = 0x06;
uint16_t mapid = (highByte << 8) | lowByte;
这样就可以将 0x11 和 0x06 合并成 4374。
原文地址: https://www.cveoy.top/t/topic/oPcO 著作权归作者所有。请勿转载和采集!