What does this mean?

view full story

http://www.daniweb.com – Hey guys I'm using Tiled (mapeditor.org) for the mapping in my game and I have made a few maps, and started implementing them in my game. The first thing I had to do was decode them from base64, then gunzip the string. Now I am on the last step and I don't understand what they are telling me to do. Quote: Finally, you can read 4 bytes at a time for each GID from the beginning of the data stream until the end. and they give out some C++ code too but I don't understand it and I have never used the shift operators. const int gid = data[i] |               data[i + 1] << 8 |               data[i + 2] << 16 |               data[i + 3] << 24; Here is a link to the wiki site Im working off of. (General)