0Pricing
Competitive Programming Academy · Lección

AND, OR, XOR y desplazamientos

Lea y combine bits con confianza

AND, OR, XOR y desplazamientos es una lección gratuita de Competitive Programming Academy en CoddyKit. Esta es la lección 1 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 Competitive Programming Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Competitive Programming Academy incluye 4 lecciones en total.

Los bits son su caja de herramientas

En realidad, cada entero es una secuencia de bits, formados únicamente por 0 y 1. Aprender a leerlos y combinarlos le proporciona trucos rápidos e ingeniosos para los concursos. 🔧

Vea el binario

Use bin() de Python para observar los bits de cualquier número. El prefijo 0b solo indica que se trata de un número binario; el resto es el patrón de bits.

print(bin(13))  # 0b1101

AND conserva los bits comunes

El operador AND (&) produce un 1 únicamente donde ambos números tienen un 1. Es perfecto para comprobar o enmascarar bits compartidos.

print(6 & 3)  # 0b110 & 0b011 = 0b010 = 2

OR combina los bits

El operador OR (|) produce un 1 dondequiera que cualquiera de los dos números tenga un 1. Úselo para activar indicadores sin modificar el resto.

print(6 | 1)  # 0b110 | 0b001 = 0b111 = 7

XOR detecta las diferencias

El operador XOR (^) produce un 1 donde los dos bits son diferentes. Es uno de los favoritos en los concursos para alternar bits y encontrar el elemento único.

print(6 ^ 3)  # 0b110 ^ 0b011 = 0b101 = 5

XOR se cancela a sí mismo

Un número XOR consigo mismo siempre da 0, y hacer XOR con 0 no lo modifica. Esta propiedad de autocancelación permite resolver muchos problemas de XOR.

print(7 ^ 7)  # 0
print(7 ^ 0)  # 7

Encuentre el número único

Si todos los valores aparecen dos veces salvo uno, haga XOR de todos ellos y los pares desaparecerán. El valor que queda es el único.

ans = 0
for x in [4, 1, 2, 1, 2]:
    ans ^= x
print(ans)  # 4

El desplazamiento a la izquierda multiplica

Un desplazamiento a la izquierda mueve los bits hacia posiciones superiores y añade ceros a la derecha. Cada desplazamiento de una posición duplica el valor, como multiplicarlo por una potencia de dos.

print(3 << 2)  # 3 * 4 = 12

El desplazamiento a la derecha divide

Un desplazamiento a la derecha elimina bits del extremo derecho. Cada desplazamiento de una posición divide el valor entre dos, realizando una división entera por una potencia de dos.

print(20 >> 2)  # 20 // 4 = 5

Construya una potencia de dos

Desplazar 1 a la izquierda k posiciones construye instantáneamente el valor 2 elevado a k. Es la forma más clara de crear máscaras de un solo bit.

print(1 << 5)  # 32

La velocidad importa en los concursos

Los operadores bit a bit se ejecutan en un único paso rápido, por lo que sustituir la aritmética por desplazamientos puede salvarle cuando el límite de tiempo sea ajustado. Apréndalos a fondo. ⚡

Comprobación rápida

Es hora de poner a prueba sus operadores de bits.

Resumen: operadores de bits

Ha conocido AND, OR, XOR y los desplazamientos: combine, alterne y escale bits en un único paso rápido. Son los bloques fundamentales de todos los trucos de bits que vienen a continuación. 🎉

Preguntas frecuentes

¿La lección «AND, OR, XOR y desplazamientos» es gratis?

Sí — el texto completo de «AND, OR, XOR y desplazamientos» 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 Competitive Programming Academy, actualiza a CoddyKit PRO. El curso de Competitive Programming Academy incluye 4 lecciones en total.

¿Qué aprenderé en «AND, OR, XOR y desplazamientos»?

Lea y combine bits con confianza Practicas Competitive Programming 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 Competitive Programming Academy?

No se requiere experiencia previa. Competitive Programming 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 1 de 4.

¿Cuánto tiempo toma la lección «AND, OR, XOR y desplazamientos»?

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 Competitive Programming Academy?

Sí. Cada lección de Competitive Programming 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

  1. AND, OR, XOR y desplazamientos
  2. Establezca, borre y alterne un bit
  3. Cuente bits y el bit activado más bajo
  4. Bitmasks como conjuntos diminutos
← Volver a Competitive Programming Academy