Que quiere decir esta expresion de Java?

Iniciado por juancaa, 14 Junio 2012, 02:22 AM

0 Miembros y 1 Visitante están viendo este tema.

juancaa

Al examinar algunas lineas de codigo por internet en Java me encontre con esto:

int x = (num >> 24) & 100;

Haciendo pruebas he visto que asigna el valor de la derecha a x solo  cuando num es un numero negativo... No entiendo ni que qiueren decir los signos ">>" en esa expresion ni la importancia del numero 24... Alguien me lo puede explicar porfis??

Gracias de antemano.
Que tengas un buen dia!

ollo

En esta operación, el operador >> desplaza los bits de la variable "num" 24 posiciones a la derecha, y luego hace una operación AND a nivel de bit con el número 100.

Explicación: a nivel binario, los números negativos están formados mayoritariamente por unos, y al hacer una operación AND, se quedan los bits propios del número  100.