bitwise and if

Hi

Suppose we have these code lines:

#define _IN_USE 0x001 /* set when process slot is in use /
#define _EXITING 0x002 /
set when exit is expected */
#define _REFRESHING 0x004

...
1 main () {
2
3 unsigned r_flags =_REFRESHING;
4
5 if (r_flag & _IN_USE){
6 if (r_flag & _EXITING){
7 printf("EXITING");
8 }
9 if (r_flag & _REFRESHING){
10 printf("REFRESHING");
11 }
12 }
13 }

Will i see on the screen the string REFRESING ? (line 10)
Can I say that REFRESCHING and EXITING are two particular cases of the more generic IN_USE?
Than you in advance

I tried on my own and I can say that
given that code lines, the line 10 will never be active because the condition in in the if at line 5 can't be true since REFRESING is 0100 (low foru bits) while IN_USE 0001
it could be true if REFRESING = 01001.
So I can't say that EXITING and REFRESHING are two particular cases of IN_USE but they are different cases.
Are you agree with me?

Yes it would be correct to say that the REFRESHING / EXITING cases are the different states a process slot can be in though they are not particular cases of the IN_USE state as proven by the bitwise ANDing of the various process slot states.

thank you, shamrock