我有一个存储为无符号字符数组的位图,仅包含 1 和 0;像这样:
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
我希望以一种紧凑的方式存储它,所以我写了一个函数将它转换成十六进制。我会像这样储存:
0f33
我现在的问题是:我可以使用哪个函数将这些字符转换回我的位图中?当我有一个指向字符“f”的指针时,如何将其转换为整数值 15? (我知道开关盒可以解决问题,但可能有更好的方法?)
最佳答案
为 C++ 尝试这个:
int number;
std::stringsteam ss;
ss << std::hex << *characterPointer;
ss >> number;
对于 C:
char hexstr[2] = {*characterPointer, '\0'};
int number = (int)strtol(hexstr, NULL, 16);
关于c++ - c/c++ 库存位图使用十六进制字母并转换回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22253669/