C++ 十六进制数转换:将两个字节合并成一个 uint16_t 类型变量
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++ 中进行十六进制数的转换。
原文地址: https://www.cveoy.top/t/topic/oPcH 著作权归作者所有。请勿转载和采集!