0

我有一个大的二进制向量,我想将它硬编码到 C 文件中,作为 long 数组。我的问题是:最简单的方法是什么?是否有类似uint64_t b = 0xb01111111011100001011100001011011;将 01111111011100001011100001011011 从 64 位转换为 1 long 包含它们的东西?或者我应该怎么做?

(我需要对这样的位向量进行 XOR/popcnt 操作,所以它们应该被准确地保留。)

4

1 回答 1

2

我建议查看有关将二进制输入 C 和 C++ 的答案,我可以在 C 或 C++ 中使用二进制文字吗?.

根据您的编译器/平台,gcc 支持: http: //gcc.gnu.org/onlinedocs/gcc/Binary-constants.html

 i =       42;
 i =     0x2a;
 i =      052;
 i = 0b101010;

都是等价的。

或者,是否可以将这些存储到您在启动时读取的二进制文件中?

于 2013-06-15T22:46:38.567 回答