Need help understanding usage of bitwise operators

Viewed 371

I inherited some code and can't figure out one piece of it:

byte[] b = new byte[4] { 3, 2, 5, 7 };
int c = (b[0] & 0x7f) << 24 | b[1] << 16 | b[2] << 8 | b[3];

Can anyone tell what's happening here?

2 Answers
Related