"Travis" <tr***********@gmail.comwrote in message
news:11**********************@r29g2000hsg.googlegr oups.com...
On Sep 14, 3:52 pm, Travis <travis.bow...@gmail.comwrote:
>On Sep 14, 3:47 pm, Travis <travis.bow...@gmail.comwrote:
On Sep 14, 3:43 pm, Ian Collins <ian-n...@hotmail.comwrote:
Travis wrote:
I don't have too much experience with bitwise operations. Here is
what
I'm trying to accomplish. I have enum say:
enum myEnum { BILL = 0, KATIE = 1, JOHN = 2 }
Then I have an int that represents some combination of that enum,
like:
int WhoIsAllowed = BILL | KATIE | JOHN;
Then I wanted to be able to check an instance against the
WhoIsAllowed. like:
int KnockingAtDoor = BILL;
How can I check to see if BILL is in fact on the WhoIsAllowed?
Change the enum so BILL has one bit set.
--
Ian Collins.
I'm sorry I'm not sure what you mean?
As in don't start with 0 so that every value has at least some bit
set? I'll try that. Thanks.
This brings up another question, is it possible to search for the
absence of someone. Like
pseudo
if Zack ISNOTIN WhoIsAllowed
{
Add zack to list
}
Lets say Joe is 1 (1<<0)
Lets say Zack is 2 (1<<1)
Lets say Bill is 4 (1<<2)
Lets say WhoIsAllowed is
int WhoIsAllowed = Joe | Bill;
Now, you want to know if Zack is allowed.
if (WhoIsAllowed & Zack )
// allowed
else
// Not allowed
WhoIsAllowed & Zack will be equal to 0. 0 used as bool is false.
WhoIsAllowed & Joe will be equal to 1. Non zeros used as bool is true.
WhoIsAllowed & Bill will be equal to 4. Non zeros used as bool is true.
No make it easier to figure out what you are doing, I would probalby code
it:
if ( WhoIsAllowed & Zack == 0 )
// Not Allowed
But again, read my prevoius response about why Iwouldn't use enums for htis
typeof thing anyway and code that I would use.