AD

¿Ya dominas lo básico? Un curso estructurado de Swift es la vía rápida para dar el salto.

Ver cursos de Swift en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐦Lecciones de Swift
Lección 54 / 68

Operadores a nivel de bits

En esta lección operarás sobre los bits que forman un número.

& es el Y bit a bit, | el O, ^ el O exclusivo, y << desplaza a la izquierda. Desplazar una posición equivale a multiplicar por dos.

El código de ejemplo aplica las cuatro operaciones.

No confundas & con &&: el primero opera sobre bits y el segundo sobre condiciones. En Swift el despiste se detecta enseguida porque los tipos no encajan, cosa que en C pasa desapercibida.

Un detalle de Swift: los desplazamientos son «inteligentes». Desplazar más bits de los que tiene el tipo da cero en lugar de un comportamiento indefinido, y desplazar una cantidad negativa desplaza en el otro sentido. En C eso es territorio de comportamiento indefinido, que es la peor clase de error posible.

En Swift moderno, para banderas se prefiere OptionSet a manipular bits a mano: se declara como una estructura, se usa con la sintaxis de un conjunto y por dentro sigue siendo un entero con bits. Se lee muchísimo mejor y ocupa lo mismo.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Swift directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)