Está en la página 1de 5

En Java, ¿cuál es el resultado de ejecutar el siguiente código? System.out.

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

El resultado de ejecutar el siguiente código en Java:

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

El resultado es 1110, que se traduce a 14 en decimal.

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.

enumera todos los operadores que existen, y pon ejemplos

En Java, existen varios tipos de operadores que se pueden clasificar en diferentes


categorías, como operadores aritméticos, operadores de comparación, operadores
lógicos, operadores de asignación, operadores a nivel de bit y operadores condicionales.
A continuación, se muestran algunos ejemplos de cada categoría:

Operadores aritméticos:

• Suma: "+" Ejemplo: int resultado = 3 + 5; // resultado = 8


• Resta: "-" Ejemplo: int resultado = 7 - 2; // resultado = 5
• Multiplicación: "*" Ejemplo: int resultado = 4 * 6; // resultado = 24
• División: "/" Ejemplo: double resultado = 10 / 3; // resultado = 3.3333...
• Módulo: "%" Ejemplo: int resultado = 10 % 3; // resultado = 1

Operadores de comparación:

• Igual a: "==" Ejemplo: boolean resultado = 5 == 5; // resultado = true


• Distinto a: "!=" Ejemplo: boolean resultado = 4 != 5; // resultado = true
• Mayor que: ">" Ejemplo: boolean resultado = 7 > 3; // resultado = true
• Menor que: "<" Ejemplo: boolean resultado = 2 < 8; // resultado = true
• Mayor o igual que: ">=" Ejemplo: boolean resultado = 6 >= 6; // resultado = true
• Menor o igual que: "<=" Ejemplo: boolean resultado = 9 <= 7; // resultado =
false

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:

• Asignación: "=" Ejemplo: int resultado = 10;


• Asignación con suma: "+=" Ejemplo: int resultado = 5; resultado += 3; //
resultado = 8
• Asignación con resta: "-=" Ejemplo: int resultado = 7; resultado -= 2; // resultado
=5
• Asignación con multiplicación: "*=" Ejemplo: int resultado = 4; resultado *= 6;
// resultado = 24
• Asignación con división: "/=" Ejemplo: double resultado = 10; resultado /= 3; //
resultado = 3.3333...

Operadores a nivel de bit:

• And a nivel de bit: "&" Ejemplo: int resultado = 12 & 7; // resultado = 4


• Or a nivel de bit: "|" Ejemplo: int resultado = 12 | 3; // resultado = 15
• Xor a nivel de bit: "^" Ejemplo: int resultado = 12 ^ 5; // resultado = 9
• Desplazamiento a la izquierda: "<<" Ejemplo: int resultado = 5 << 2; // resultado
= 20
• Desplazamiento a la derecha: ">>" Ejemplo: int resultado = 20 >> 2; // resultado
=5

Operadores

pon ejemplos más amplios utilizando los operadores a nivel de bit

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)

En este caso, el resultado es 2 porque los bits en la posición 0 y 2 son iguales a 1 en


ambos operandos.

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)

En este caso, el resultado es 15 porque los bits en la posición 0, 1, 2 y 3 son iguales a 1


en al menos uno de los operandos.

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)

En este caso, el resultado es 15 porque los bits en la posición 0, 1, 2 y 3 son diferentes


en ambos operandos.

4. Operador "Desplazamiento a la izquierda" (<<) El operador "<<" a nivel de bit


desplaza los bits de un número a la izquierda y añade ceros a la derecha. Cada
desplazamiento hacia la izquierda multiplica el número por 2. Por ejemplo:

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.

5. Operador "Desplazamiento a la derecha" (>>) El operador ">>" a nivel de bit


desplaza los bits de un número a la derecha y añade ceros a la izquierda. Cada
desplazamiento hacia la derecha divide el número por 2. Por ejemplo:
less
int a = 20; // 10100 en binario
int b = a >> 2; // b = 5 (0101 en binario)

En este caso, el resultado es 5 porque se

Operadores a nivel de bit, ejemplos:

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

En este caso, el resultado es 2 porque los bits en la posición 0 y 2 son iguales a 1 en


ambos operandos.

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

En este caso, el resultado es 15 porque los bits en la posición 0, 1, 2 y 3 son iguales a 1


en al menos uno de los operandos.

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

En este caso, el resultado es 15 porque los bits en la posición 0, 1, 2 y 3 son diferentes


en ambos operandos.

4. Operador "Desplazamiento a la izquierda" (<<) El operador "<<" a nivel de bit


desplaza los bits de un número a la izquierda y añade ceros a la derecha. Cada
desplazamiento hacia la izquierda multiplica el número por 2. Por ejemplo:

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.

5. Operador "Desplazamiento a la derecha" (>>) El operador ">>" a nivel de bit


desplaza los bits de un número a la derecha y añade ceros a la izquierda. Cada
desplazamiento hacia la derecha divide el número por 2. Por ejemplo:

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

También podría gustarte