Foros del Web » Programación para mayores de 30 ;) » Java »

¿Qué significa ">>>"?

Estas en el tema de ¿Qué significa ">>>"? en el foro de Java en Foros del Web. Hola, lo dicho, he encontrado una porción de código que dice: int mid = (low + high) >>> 1; ¿Me podéis indicar qué hace esa ...
  #1 (permalink)  
Antiguo 02/02/2010, 10:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
¿Qué significa ">>>"?

Hola, lo dicho, he encontrado una porción de código que dice:

int mid = (low + high) >>> 1;

¿Me podéis indicar qué hace esa orden? Muchas gracias.
  #2 (permalink)  
Antiguo 02/02/2010, 18:12
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: ¿Qué significa ">>>"?

Desplaza bits del operando hacia la derecha las posiciones indicadas, olvidándose del signo

Cita:
int i = -8;
System.out.println(Integer.toBinaryString(i) + "=" + i);
System.out.println(Integer.toBinaryString(i>>1) + "=" + (i>>1));
System.out.println(Integer.toBinaryString(i>>>1) + "=" + (i>>>1));
Los resultados que obtendrás son los siguientes

Cita:
11111111111111111111111111111000=-8
11111111111111111111111111111100=-4
1111111111111111111111111111100=2147483644
Si no entiendes la diferencia entre >>1 y >>>1, échale un vistazo a la representación de números binarios (complemento a 2)

[URL="http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_de_bits"]http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_de_bits[/URL]
  #3 (permalink)  
Antiguo 03/02/2010, 09:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: ¿Qué significa ">>>"?

Muchas gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.