Programación General > Java
Operadores Binarios
(1/1)
9tnix:
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
m0skit0:
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 ---10 >> 2 = 1010 >> 2 = 0010 = 210 << 2 = 1010 >> 2 = 101000 = 40
Operador negación o complemento (~) (unario): invierte los bits, por ejemplo:
--- Código: Text ---~8 = ~1000 = 0111 = 7~10 = ~1010 = 0101 = 5
Operadores lógicos Y (&), O (|), O exclusiva (^): realiza la función lógica sobre ambos operadores a nivel de bit.
--- Código: Text ---Función lógica &:0 & 0 = 00 & 1 = 01 & 0 = 01 & 1 = 1
--- Código: Text ---Función lógica |:0 | 0 = 00 | 1 = 11 | 0 = 11 | 1 = 1
--- Código: Text ---Función lógica ^:0 ^ 0 = 00 ^ 1 = 11 ^ 0 = 11 ^ 1 = 0
Ejemplos:
--- Código: Text ---10 & 6 = 1010 & 011010100110----0010 = 2 10 | 6 = 1010 | 011010100110----1110 = 14 10 ^ 6 = 1010 ^ 011010100110----1100 = 12
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:
Hola m0skit0
Me quedo todo claro
gracias, grazie, obrigado. thank you, merci,....
Saludos cordiales
Zeekel
Navegación
Ir a la versión completa