But with signed types, the bitshifting operations get all screwed up if any of the bytes have a negative value (since the sign bit is sticky).
The same operation in Java, with only signed types, looks like this :.