• Viernes 29 de Marzo de 2024, 10:42

Autor Tema:  Operadores Binarios  (Leído 1927 veces)

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Operadores Binarios
« en: Domingo 2 de Noviembre de 2008, 22:58 »
0
Hola amigos

Hace 2 dias en mi deseo de aprender a programar en Java por mi cuenta estube leyendo unos pdf y bueno he leido uno de Fundamentos de programacion en Java publicado por Eric Gustavo Coronel Castillo 135 paginas y actualmente estoy leyendo otro que se titula Aprenda Java como en primero y alli pues me tope con esto de los operadores binarios (pagina 37)y no logre entender a cabalidad lo que es el desplazamiento de bits a la derecha y la izquierda entro otros como el &, |, ^, ~ a nivel de bits tambien.
Alguien podria explicarme como funcionan con un ejemplo sencillo en codigo Java por supuesto.

Gracias por anticipado

Saludos cordiales
Zeekel
TP-Systems
our knowledge is our power!

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Operadores Binarios
« Respuesta #1 en: Lunes 3 de Noviembre de 2008, 12:49 »
0
Los operadores no tienen nada que ver con el lenguaje, así que es imposible explicarlos en Java, sólo puedo explicarlos (aunque en Google hay mil páginas, pero bueno, vaguete):

Operadores desplazamiento (>>, <<): desplazan n bits a la izquierda o derecha (multiplicas por 2^n o divides por 2^n respectivamente), rellenando con 0 el espacio vacío, por ejemplo:

Código: Text
  1. 10 >> 2 = 1010 >> 2 = 0010 = 2
  2. 10 << 2 = 1010 >> 2 = 101000 = 40
  3.  

Operador negación o complemento (~) (unario): invierte los bits, por ejemplo:

Código: Text
  1. ~8 = ~1000 = 0111 = 7
  2. ~10 = ~1010 = 0101 = 5
  3.  

Operadores lógicos Y (&), O (|), O exclusiva (^): realiza la función lógica sobre ambos operadores a nivel de bit.

Código: Text
  1. Función lógica &:
  2. 0 & 0 = 0
  3. 0 & 1 = 0
  4. 1 & 0 = 0
  5. 1 & 1 = 1
  6.  

Código: Text
  1. Función lógica |:
  2. 0 | 0 = 0
  3. 0 | 1 = 1
  4. 1 | 0 = 1
  5. 1 | 1 = 1
  6.  

Código: Text
  1. Función lógica ^:
  2. 0 ^ 0 = 0
  3. 0 ^ 1 = 1
  4. 1 ^ 0 = 1
  5. 1 ^ 1 = 0
  6.  

Ejemplos:
Código: Text
  1. 10 & 6 = 1010 & 0110
  2. 1010
  3. 0110
  4. ----
  5. 0010 = 2
  6.  
  7. 10 | 6 = 1010 | 0110
  8. 1010
  9. 0110
  10. ----
  11. 1110 = 14
  12.  
  13. 10 ^ 6 = 1010 ^ 0110
  14. 1010
  15. 0110
  16. ----
  17. 1100 = 12
  18.  

Las operaciones de desplazamiento generalmente se usan en vez de las multiplicaciones cuando el factor es múltiplo de 2 ya que son mucho más rápidas. Las lógicas se utilizan para máscaras.

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Operadores Binarios
« Respuesta #2 en: Lunes 3 de Noviembre de 2008, 14:56 »
0
Hola m0skit0

Me quedo todo claro
gracias, grazie, obrigado. thank you, merci,....

Saludos cordiales
Zeekel
TP-Systems
our knowledge is our power!