Advertencia de Findbugs: cambio de número entero por 32 - ¿qué significa?

Estaba escaneando un código fuente de un tercero usando Findbugs (solo para ser cauteloso antes de integrarme en el mío), y encontré la siguiente advertencia:

<code>long a = b << 32 | c
</code>

Error: desplazamiento de entero por 32 Id. De patrón: ICAST_BAD_SHIFT_AMOUNT, tipo: BSHIFT, categoría: CORRECTNESS

El código realiza un desplazamiento entero por una cantidad constante fuera del rango 0..31. El efecto de esto es usar los 5 bits más bajos del valor entero para decidir cuánto desplazar. Probablemente esto no era lo que se esperaba, y al menos es confuso.

¿Podría alguien explicar qué significa exactamente lo anterior?

¡Gracias! (Soy bastante novato en la programación de Java)

Respuestas a la pregunta(2)

Su respuesta a la pregunta