The &
is doing a bit-wise "and". So, it is "1" only when both bits are 1. The logic overall is checking that all the bits in value
are set in field
.
As an example, consider that value
is:
0000 0101
Then if field is
1111 1111
The &
is:
0000 0101
(The 1
s are only where both are 1
.)
And this is the same as value
. So, this passes the condition.
Now if field
is:
0001 1110
Then the &
is:
0000 0100
And this differs from value
, so it does not pass the condition.