Documentos de Académico
Documentos de Profesional
Documentos de Cultura
println(12|3);
a) True
b) 15
c) 12
d) 8
Explica la respuesta ampliando la información sobre los operadores a nivel de bit con
ejemplos
System.out.println(12|3);
es 15.
La barra vertical ("|") es el operador "or bit a bit" (bitwise OR), que compara los bits de
los operandos en cada posición y produce un resultado que tiene un bit 1 en esa posición
si uno o ambos operandos tienen un bit 1 en esa posición.
En este caso, los operandos son 12 (1100 en binario) y 3 (0011 en binario). Cuando se
aplica el operador "|", el resultado es 15 (1111 en binario), que se traduce a 15 en
decimal.
Por ejemplo, si queremos aplicar el operador "|" a los números binarios 1010 y 1100,
hacemos lo siguiente:
1010
OR 1100
-------
1110
En resumen, el operador "|", también conocido como "or bit a bit" (bitwise OR),
compara los bits de los operandos en cada posición y produce un resultado que tiene un
bit 1 en esa posición si uno o ambos operandos tienen un bit 1 en esa posición.
Operadores aritméticos:
Operadores de comparación:
Operadores lógicos:
• Y: "&&" Ejemplo: boolean resultado = (5 > 3) && (7 < 4); // resultado = false
• O: "||" Ejemplo: boolean resultado = (5 > 3) || (7 < 4); // resultado = true
• Negación: "!" Ejemplo: boolean resultado = !(5 > 3); // resultado = false
Operadores de asignación:
Operadores
Aquí te muestro algunos ejemplos más amplios que utilizan los operadores a nivel de bit
en Java:
1. Operador "And a nivel de bit" (&) El operador "&" a nivel de bit compara los
bits de los operandos en cada posición y produce un resultado que tiene un bit 1
en esa posición solo si ambos operandos tienen un bit 1 en esa posición. Por
ejemplo:
less
int a = 10; // 1010 en binario
int b = 7; // 0111 en binario
int c = a & b; // c = 2 (0010 en binario)
2. Operador "Or a nivel de bit" (|) El operador "|" a nivel de bit compara los bits de
los operandos en cada posición y produce un resultado que tiene un bit 1 en esa
posición si uno o ambos operandos tienen un bit 1 en esa posición. Por ejemplo:
less
int a = 10; // 1010 en binario
int b = 7; // 0111 en binario
int c = a | b; // c = 15 (1111 en binario)
3. Operador "Xor a nivel de bit" (^) El operador "^" a nivel de bit compara los bits
de los operandos en cada posición y produce un resultado que tiene un bit 1 en
esa posición solo si uno de los operandos tiene un bit 1 en esa posición, pero no
ambos operandos tienen un bit 1 en esa posición. Por ejemplo:
less
int a = 10; // 1010 en binario
int b = 5; // 0101 en binario
int c = a ^ b; // c = 15 (1111 en binario)
less
int a = 5; // 0101 en binario
int b = a << 2; // b = 20 (10100 en binario)
En este caso, el resultado es 20 porque se han desplazado los bits dos posiciones hacia
la izquierda, añadiendo dos ceros a la derecha, lo que equivale a multiplicar el número
por 2 dos veces.
1. Operador "And a nivel de bit" (&) El operador "&" a nivel de bit compara los
bits de los operandos en cada posición y produce un resultado que tiene un bit 1
en esa posición solo si ambos operandos tienen un bit 1 en esa posición. Por
ejemplo:
1010 // a = 10
& 0111 // b = 7
-------
0010 // c = 2
2. Operador "Or a nivel de bit" (|) El operador "|" a nivel de bit compara los bits de
los operandos en cada posición y produce un resultado que tiene un bit 1 en esa
posición si uno o ambos operandos tienen un bit 1 en esa posición. Por ejemplo:
1010 // a = 10
| 0111 // b = 7
-------
1111 // c = 15
3. Operador "Xor a nivel de bit" (^) El operador "^" a nivel de bit compara los bits
de los operandos en cada posición y produce un resultado que tiene un bit 1 en
esa posición solo si uno de los operandos tiene un bit 1 en esa posición, pero no
ambos operandos tienen un bit 1 en esa posición. Por ejemplo:
1010 // a = 10
^ 0101 // b = 5
-------
1111 // c = 15
0101 // a = 5
<< 2 // desplazar 2 posiciones a la izquierda
-------
10100 // b = 20
En este caso, el resultado es 20 porque se han desplazado los bits dos posiciones hacia
la izquierda, añadiendo dos ceros a la derecha, lo que equivale a multiplicar el número
por 2 dos veces.
arduino
10100 // a = 20
>> 2 // desplazar 2 posiciones a la derecha
-------
0101 // b = 5
En este caso, el resultado es 5 porque se han desplazado los bits dos posiciones hacia la
derecha, añadiendo dos ceros a la izquierda