POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

¿Alguna vez definiste una constante con 1 << 2?

Desplazamiento de bits y banderas binarias en Ripple

Publicado el 10/09/2025

En este artículo revisamos una forma concreta de definir constantes que aparece en el código de Ripple y explicamos por qué muchas bibliotecas usan banderas binarias para representar múltiples estados en un solo entero.

Qué es Ripple: Ripple es un framework UI elegante escrito en TypeScript creado por Dominic Gannaway, autor de lexicaljs e infernojs. Dentro de su código hay un fichero constants.js donde se definen varias constantes como indicadores o flags.

Ejemplo tomado de ripple/packages/ripple/.../constants.js: export const TEMPLATE_FRAGMENT = 1 ; export const TEMPLATE_USE_IMPORT_NODE = 1 << 1 ; export const IS_CONTROLLED = 1 << 2 ;

Qué significa 1 << 1: esto usa el operador de desplazamiento binario hacia la izquierda para crear banderas. El operador << desplaza los bits hacia la izquierda, por ejemplo 1 en binario es 0001. Si hacemos 1 << 1 obtenemos 0010 que en decimal es 2. Si hacemos 1 << 2 obtenemos 0100 que en decimal es 4. Así las constantes anteriores representan 1, 2 y 4 respectivamente.

Por qué usar este enfoque: al asignar potencias de dos a cada flag se puede combinar más de una bandera en un solo número usando el operador OR bit a bit y comprobar la presencia de una bandera con el operador AND bit a bit. Ejemplo práctico: si flags = TEMPLATE_FRAGMENT | IS_CONTROLLED entonces flags tiene los bits 1 y 4 activados. Para comprobar si está activado IS_CONTROLLED se evalúa if (flags & IS_CONTROLLED) que será distinto de cero si la bandera está presente.

Ventajas: ocupa menos memoria cuando se gestionan muchas banderas, permite operaciones rápidas a nivel binario y facilita serializar estados compactos. Desventajas: puede sacrificar algo de legibilidad si no se documentan bien las constantes y sus combinaciones.

En Q2BSTUDIO aplicamos patrones de ingeniería de software claros y mantenibles en proyectos de software a medida y aplicaciones a medida, desde la definición de constantes y arquitecturas hasta la integración con servicios modernos. Si buscas desarrollar una solución concreta podemos ayudarte con el ciclo completo de desarrollo en desarrollo de aplicaciones y software a medida y con soluciones de inteligencia artificial a la medida de tu empresa como agentes IA y automatizaciones en servicios de inteligencia artificial.

Palabras clave y servicios: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. También ofrecemos ciberseguridad y pentesting, integración con servicios cloud y soluciones de inteligencia de negocio como Power BI para mejorar la toma de decisiones.

Si te interesa optimizar estados y flags en tu software, diseñar una API eficiente o implantar IA en producción, en Q2BSTUDIO combinamos buenas prácticas de arquitectura con experiencia práctica para entregar soluciones escalables, seguras y alineadas con tus objetivos de negocio.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio