>>= is a left right shift assignment operator. It takes that value stored in i and shifts all it's bits to the left right 1 place (with the rightleftmost bit being set to 0)
In this case i is an int therefore the right shift will shift the sign bit which happens to be zero in this case. If the number were negative than the sign bit would have been 1.
That is a really bizarre piece of source code you've got there. Please use code tags next time you post.
That code is just a method of outputting the binary representation of the data.
i = 128 in binary is 10000000.
Each shift moves the 1 bit to the right one place.
At each value, i is ANDed with c[j]. The result will be 0 if that bit of c[j] is 0, and 1 if that bit of c[j] is 1, and the characters 1 or 0 are output accordingly.