C++ 十六进制数转换:将两个字节合并成一个 uint16_t 类型变量

本文介绍了如何将两个字节的十六进制数合并成一个 uint16_t 类型的变量,以及如何将一个 uint16_t 类型的变量拆分成两个字节的十六进制数。

将两个字节合并成一个 uint16_t 类型的变量

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

其中,highByte 是高字节,lowByte 是低字节。<< 8 表示将 highByte 左移 8 位,相当于将 highByte 乘以 256。| 表示按位或运算,将 highByte 左移 8 位的结果与 lowByte 进行或运算,得到最终的 mapid 值。

将一个 uint16_t 类型的变量拆分成两个字节的十六进制数

uint16_t mapid = 1687228718;

uint8_t highByte = (mapid >> 8) & 0xFF;
uint8_t lowByte = mapid & 0xFF;

其中,>> 8 表示将 mapid 右移 8 位,相当于将 mapid 除以 256。& 0xFF 表示按位与运算,将 mapid 右移 8 位的结果与 0xFF 进行与运算,得到高字节的值。mapid & 0xFF 表示将 mapid 与 0xFF 进行与运算,得到低字节的值。

通过以上方法,可以方便地在 C++ 中进行十六进制数的转换。

C++ 十六进制数转换:将两个字节合并成一个 uint16_t 类型变量

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

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