2013-05-08 76 views
0
#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位整数到字符/字符串)。请帮忙。不知道如何做到这一点!需要帮助到32位整型读转换为charcters

+0

顺便说一下,这是一个16位的整数。 – microtherion 2013-05-08 10:13:21

回答

2

这只是上面的宏

char first = c&0xFF; 
char second = (c >> 8)&0xFF; 

的您可能要查找位运算符相反。

+0

谢谢你的作品! GR8 – 2013-05-08 09:56:00