Operadores bit a bit y de desplazamiento
Manipule bits con &, |, ^, ~ y desplazamientos.
Operadores bit a bit y de desplazamiento es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.
Bits y binario
Los enteros se almacenan como bits. Los operadores bit a bit actúan sobre cada uno de esos bits. C# ofrece &, |, ^, ~, << y >>.
using System;
class Program {
static void Main() {
int x = 5;
Console.WriteLine(Convert.ToString(x, 2));
}
}AND bit a bit: &
& establece un bit en 1 únicamente cuando ambos bits son 1. 5 & 3 compara 101 y 011 para producir 001 = 1.
using System;
class Program {
static void Main() {
Console.WriteLine(5 & 3);
Console.WriteLine(12 & 10);
}
}OR bit a bit: |
| establece un bit en 1 cuando cualquiera de los bits es 1. 5 | 3 produce 111 = 7.
using System;
class Program {
static void Main() {
Console.WriteLine(5 | 3);
Console.WriteLine(8 | 1);
}
}XOR bit a bit: ^
^ establece un bit en 1 cuando los bits son distintos. 5 ^ 3 produce 110 = 6.
using System;
class Program {
static void Main() {
Console.WriteLine(5 ^ 3);
Console.WriteLine(7 ^ 7);
}
}NOT bit a bit: ~
~ invierte todos los bits. Debido a la representación en complemento a dos, ~n equivale a -(n + 1).
using System;
class Program {
static void Main() {
Console.WriteLine(~5);
Console.WriteLine(~0);
}
}Desplazamiento a la izquierda: <<
<< desplaza los bits a la izquierda y rellena con ceros por la derecha. Cada desplazamiento de una posición duplica el valor: 1 << 3 es 8.
using System;
class Program {
static void Main() {
Console.WriteLine(1 << 3);
Console.WriteLine(5 << 1);
}
}Desplazamiento a la derecha: >>
>> desplaza los bits a la derecha. En los números positivos, cada desplazamiento divide el valor entre dos: 20 >> 2 es 5.
using System;
class Program {
static void Main() {
Console.WriteLine(20 >> 2);
Console.WriteLine(8 >> 1);
}
}Máscaras de bits
Una máscara aísla bits específicos. Aplique AND entre un valor y una máscara para conservar únicamente esos bits.
using System;
class Program {
static void Main() {
int value = 0b1011;
int mask = 0b0110;
Console.WriteLine(value & mask);
}
}Establecer y borrar bits
Use | con una máscara de un solo bit para establecer un bit, y & con la máscara invertida para borrarlo.
using System;
class Program {
static void Main() {
int flags = 0;
flags |= (1 << 2);
Console.WriteLine(flags);
flags &= ~(1 << 2);
Console.WriteLine(flags);
}
}Comprobar un bit
Para comprobar si un bit está establecido, aplique AND con su máscara y compare el resultado con cero.
using System;
class Program {
static void Main() {
int flags = 0b0100;
bool isSet = (flags & (1 << 2)) != 0;
Console.WriteLine(isSet);
}
}Desplazamiento como multiplicación rápida
El desplazamiento es una forma rápida de multiplicar o dividir entre potencias de dos, algo habitual en código donde el rendimiento es importante.
using System;
class Program {
static void Main() {
int n = 7;
Console.WriteLine(n << 2);
Console.WriteLine(n >> 1);
}
}Comprobación rápida
Compruebe sus conocimientos sobre operaciones bit a bit.
Resumen
Los operadores bit a bit trabajan bit por bit: & AND, | OR, ^ XOR y ~ NOT. Los desplazamientos << y >> mueven los bits a la izquierda o a la derecha, multiplicando o dividiendo entre potencias de dos.
Con máscaras puede establecer, borrar y comprobar bits individuales, lo que constituye la base de las marcas y del trabajo con datos de bajo nivel.
Preguntas frecuentes
¿La lección «Operadores bit a bit y de desplazamiento» es gratis?
Sí — el texto completo de «Operadores bit a bit y de desplazamiento» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Operadores bit a bit y de desplazamiento»?
Manipule bits con &, |, ^, ~ y desplazamientos. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Operadores bit a bit y de desplazamiento»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Operadores aritméticos y de asignación
- Operadores de comparación y lógicos
- Operadores bit a bit y de desplazamiento
- Precedencia y asociatividad de operadores