+ is the addition operator. It is used to add numbers. For example,
2+3 yields 5.
For analyzing your expression, let's call “a”, “b”, “c” and “d” the bits
of one, two, three and four respectively, like this:
one = aaaaaaaa
two = bbbbbbbb
three = cccccccc
four = dddddddd
These numbers may have more than 8 bits, but in that case the extra bits
will be discarded by the & operations. Now, let's compute the terms of
the sum, and then the whole sum:
(one << 24) & 0xFFFFFFFF = aaaaaaaa000000000000000000000000
(two << 16) & 0x00FFFFFF = 00000000bbbbbbbb0000000000000000
(three << 8) & 0x0000FFFF = 0000000000000000cccccccc00000000
(four << 0) & 0x000000FF = 000000000000000000000000dddddddd
─────────────────────────────────────────────────────────────
sum = aaaaaaaabbbbbbbbccccccccdddddddd
As you see, only one bit in each column of this addition can be
non-zero, and that column's sum can only be 0 or 1. This means that
there will be no carries, and the columns will add independently of one
another. The sum is then made of the bits of one, two, three and
four concatenated.
The exact same result could be computed by using the bitwise OR operator
(|) instead of +. In fact, I would prefer using |: to my eyes it
makes the programmer's intent clearer.