具有超过64个值的枚举的按位运算

时间:2013-08-26 23:01:23

标签: cocoa enums bit-manipulation

我是cocoa和enums的新手,我在枚举中有超过64个值。  我必须执行按位&和OR就可以了。

对于Eg :(假设此枚举有超过64个值)  枚举{  apple = 0,  橙子,  菠萝,  葡萄,  ..  ...  ...  }

我在字典中有一个项目列表,例如,Required Fruits = {apple,pineapple}  我必须得到当前使用的水果,并检查它是否出现在  必需的水果清单,如果我有一个值苹果我必须检查苹果是否在  必需的水果。

所有这一切都必须使用按位操作。  (苹果|菠萝)&苹果

但是我在枚举中有超过64个值。  可以对具有超过64个值的枚举执行按位运算吗?  请帮助我。这方面的任何信息都会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

简答:没有

更长的答案:

将枚举用作位字段仅限于可用于枚举的基础类型的最大整数大小,通常为64位。因此,您需要考虑其他方法来实现您的需求。

例如:对于高级解决方案,请考虑NSSet的常量字符串。对于低级别的基于位的解决方案,请查看C库中的bitstring

HTH