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