我有一个大的二进制向量,我想将它硬编码到 C 文件中,作为 long 数组。我的问题是:最简单的方法是什么?是否有类似uint64_t b = 0xb01111111011100001011100001011011;
将 01111111011100001011100001011011 从 64 位转换为 1 long 包含它们的东西?或者我应该怎么做?
(我需要对这样的位向量进行 XOR/popcnt 操作,所以它们应该被准确地保留。)
我有一个大的二进制向量,我想将它硬编码到 C 文件中,作为 long 数组。我的问题是:最简单的方法是什么?是否有类似uint64_t b = 0xb01111111011100001011100001011011;
将 01111111011100001011100001011011 从 64 位转换为 1 long 包含它们的东西?或者我应该怎么做?
(我需要对这样的位向量进行 XOR/popcnt 操作,所以它们应该被准确地保留。)
我建议查看有关将二进制输入 C 和 C++ 的答案,我可以在 C 或 C++ 中使用二进制文字吗?.
根据您的编译器/平台,gcc 支持: http: //gcc.gnu.org/onlinedocs/gcc/Binary-constants.html
i = 42;
i = 0x2a;
i = 052;
i = 0b101010;
都是等价的。
或者,是否可以将这些存储到您在启动时读取的二进制文件中?