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)) # 0b1101AND 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 = 2OR 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 = 7XOR 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 = 5XOR 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) # 7Encuentre 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) # 4El 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 = 12El 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 = 5Construya 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) # 32La 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
- AND, OR, XOR y desplazamientos
- Establezca, borre y alterne un bit
- Cuente bits y el bit activado más bajo
- Bitmasks como conjuntos diminutos