c++ - c/c++ 库存位图使用十六进制字母并转换回来

标签 c++ c bitmap hex

我有一个存储为无符号字符数组的位图,仅包含 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/

相关文章:

c++ - 使用 VS2010 在客户端编译 native COM 客户端 stub

c - yacc解析的问题

c - 快速解决死锁?

android - 位图转 Base64 字符串

javascript - 如何通过 POST 提交 Javascript 生成的位图图像?

ios - 如何使用 objective c 将 JPEG 文件转换为 BITMAP?

Python:将二进制文件读入结构然后解包

c++ - 根据 MSVC++ 中的 unicode 设置自动在 std::string 和 std::wstring 之间切换?

c++ - C++派生类构造函数后调用基类构造函数

c - 在 spawn() 之后使用 _exit() 或 exit()?