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 位整数到字符/字符串)。请帮忙。不知道如何做到这一点!

4

1 回答 1

2

就是上面宏的反面

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

您可能想要查找按位运算符

于 2013-05-08T09:46:24.887 回答