在C中将bitvector声明为long的数组?

时间:2013-06-15 22:40:23

标签: c long-integer bits

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

(我需要对这些位向量进行XOR / popcnt操作,因此应该完全保留它们。)

1 个答案:

答案 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;

一切都是等价的。

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