que estaba escaneando un código de tercera fuente del partido usando Findbugs (sólo para ser cautos antes de integrar en él la mía), y se encontró la siguiente advertencia:Advertencia de Findbugs: Entero shift por 32 - ¿qué significa?
long a = b << 32 | c
Bug: Entero desplazamiento por id 32 Patrón: ICAST_BAD_SHIFT_AMOUNT , tipo: BDesplace, categoría: CORRECCIÓN
el código realiza un cambio de número entero por una cantidad constante fuera de la gama 0..31. El efecto de esto es usar los 5 bits más bajos del valor entero para decidir cuánto mover. Es probable que no se quiera y sea al menos confuso.
¿Podría alguien explicar qué significa exactamente lo anterior?
Gracias! (soy bastante novato en programación Java)
Entonces,' int >> 32 (0x100000) == int >> 0 (0x00000) '? –
Pseudo-sintaxis extraña que usa, pero sí, eso es todo. – UndefinedBehavior