Tag: 比特标志

创建具有大量标志的bitflag变量或如何创建大的位宽数字

假设我有一个枚举,其bitflag选项大于标准数据类型中的位数: enum flag_t { FLAG_1 = 0x1, FLAG_2 = 0x2, … FLAG_130 = 0x400000000000000000000000000000000, }; 由于几个原因,这是不可能的。 枚举的最大大小为128位(在我的系统中通过实验以C / gcc为单位),单个变量的最大大小为128位等。 在C中,你不能对数组执行按位运算,但在C ++中我认为你可以使用逐位运算符重载以完成循环的工作。 除了手动记住哪些标志用于大数字的工作之外,在C中有什么办法吗?