如果现在打印结果是4398,说明原来的两个字节合并后得到的结果是4398而不是16872。这可能是因为在合并时高低字节的顺序不对,应该先将低字节左移8位再与高字节进行或运算。代码应该修改为:

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

这样就可以正确将 0x11 和 0x2e 合并成 0x112e,即4398。

可以将两个字节的十六进制数合并成一个 uint16_t 类型的变量如下所示:uint8_t highByte = 0x11;uint8_t lowByte = 0x2e;uint16_t mapid = highByte 8 lowByte;这样就可以将 0x11 和 0x2e 合并成 1687228718。那位现在打印结果是4398怎么处理

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

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