- Flag
-
Flag
En programación, la bandera o flag se refiere a uno o más bits que se utilizan para almacenar un valor binario o código que tiene asignado un significado. Las banderas normalmente forman parte de una determinada estructura de datos, como un registro de una base de datos, y el significado del valor que figura en una bandera típicamente se definirá en relación a la estructura de datos de la que forma parte. En muchos casos el valor binario de la bandera se entenderá como la representación de uno de los posibles estados. En otras ocasiones, los valores binarios pueden representar uno o más atributos de un campo de bits, a menudo relacionados con habilidades o permisos, como "se puede escribir" o "puede ser borrado". De todos modos, hay muchos otros posibles significados que pueden asignarse a los valores de la bandera. Un uso común de las banderas es marcar o designar estructuras de datos para un posterior tratamiento.
Dentro de los microprocesadores y otros dispositivos lógicos, las banderas se utilizan mayoritariamente para controlar o indicar el estado intermedio o final o el resultado de diferentes operaciones. Por ejemplo, los microprocesadores suelen tener un registro de estado que se compone de varias de estas banderas que se usarán para indicar varias condiciones establecidas como resultado de una operación, como podría ser hacer notar que ha habido un desbordamiento en una operación aritmética. Una vez establecidas, las banderas pueden utilizarse en operaciones posteriores como el control de flujo en una operación de salto condicional. Por ejemplo, la instrucción en ensamblador de Intel x86 je (salta si igual) comprobará el flag Z (cero) del registro de estado y si está establecido (por una operación anterior) ejecutará un salto a la dirección indicada.
A los diferentes parámetros de control de una shell de línea de comandos también se les suele llamar banderas. Estas shells utilizan un analizador sintáctico para traducir los parámetros pasados en banderas al uso de las vistas en este artículo.
Categorías: Programación | Unidad central de procesamiento | Sistemas operativos
Wikimedia foundation. 2010.