#define ISO6391(a,b) ((((b) & 0xff) << 8) | ((a) & 0xff))
int main(int argc, char **argv) {
int c = ISO6391('a','b');
std::cout<<"c= "<<c<<std::endl;
}
我有上面的代码片段(由供应商编写)将 ISO639-1 语言代码(2 个字符)复制到 32 位整数。现在我想提取代码(从 32 位整数到字符/字符串)。请帮忙。不知道该怎么做!
最佳答案
就是把上面的宏倒过来
char first = c&0xFF;
char second = (c >> 8)&0xFF;
您可能想要查找位运算符。
关于c++ - 需要帮助将 32 位整数 r 转换为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16437416/