我的情況是這樣的:如何檢查數字是否是二進制和的結果?
了enum
enum MyType{
None = 0,
First = 1,
Second = 2,
Third = 4,
//and so on
}
現在我wan't檢查,如果給定的數字是二進制的,例如
int givenNumber = 3;
int result =
//how to get that it's sum of 2 enums in this particular case would be (int)Type.First & (int)Type.Second == 3;
希望總和的結果我的問題很清楚,有人可以幫助解決這個問題。
編輯
枚舉值總是搭載2
我希望編寫應檢查給定數量的一個方法可以是不同的二進制總和示例的一個PICE:
int givenNumber = 1; //1 , 3 ,5 and 7 will be the answer
- 現實生活中的樣本: 我在我的數據庫中有承包商,每個承包商都可以是生產者= 1,供應商= 2,服務= 4分貝我只能存儲1個val在這種情況下,int將是最明智的選擇。當我裝載物品到我的服務組合框 - 承包人慾加載的每一行具有例如值4或5或7(怎麼一回事,因爲7 = 1 + 2 + 4,5 = 1 + 4和4 = 4)。
現在我的問題更清楚了嗎?
是你的'總是enums' 2的冪? – ogzd 2013-02-08 13:04:10
看一看這個答案,HTTP://計算器。COM /問題/ 8447 /枚舉標記屬性 – 2013-02-08 13:04:29
你的意思總和,或按位和? – Benubird 2013-02-08 13:05:17