Bandera (programació)

De la Viquipèdia, l'enciclopèdia lliure
Genersació del bit CARRY : exemple senzill d'unitat lògica aritmètica (ALU) que fa AND, OR, XOR i suma.


A la programació d'ordinadors, el senyalador bandera pot fer referència a un o més bits que s'utilitzen per emmagatzemar un valor binari o una variable booleana per indicar condicions especials de codi, com ara l'estat de la cua de fitxer buit o plena.[1][2]

Els senyaladors es poden trobar com a membres d'una estructura de dades definida, com ara un registre de base de dades, i el significat del valor contingut en un indicador generalment es definirà en relació amb l'estructura de dades de la qual forma part. En molts casos, s'entendrà que el valor binari d'una bandera representa un dels diversos estats o estats possibles. En altres casos, els valors binaris poden representar un o més atributs en un camp de bits, sovint relacionats amb habilitats o permisos, com ara "es pot escriure a" o "es pot suprimir". Tanmateix, hi ha molts altres significats possibles que es poden assignar als valors de la bandera. Un ús comú de les banderes és marcar o designar estructures de dades per al processament futur.[3]

Dins dels microprocessadors i altres dispositius lògics, els indicadors s'utilitzen habitualment per controlar o indicar l'estat o el resultat intermedi o final de diferents operacions. Els microprocessadors solen tenir, per exemple, un registre d'estat que es compon d'aquests indicadors, i els indicadors s'utilitzen per indicar diverses condicions posteriors a l'operació, com ara quan hi ha hagut un desbordament aritmètic. Els indicadors es poden utilitzar en operacions posteriors, com ara el processament d'instruccions de salt condicional. Per exemple, una instrucció je (Jump if Equal) en el llenguatge ensamblador X86 donarà lloc a un salt si la bandera Z (zero) s'ha establert per alguna operació anterior.[4]

Un interruptor de línia d'ordres també es coneix com a bandera. Els programes de línia d'ordres sovint comencen amb un analitzador d'opcions que tradueix els interruptors de línia d'ordres en senyals en el sentit d'aquest article.

Referències[modifica]

  1. Haigh, J. Designing Computer Programs (en anglès). Elsevier Science, 1994, p. 59. ISBN 978-0-08-050403-2. 
  2. Fitzgerald, M. Learning Ruby: The Language that Powers Rails (en anglès). O'Reilly Media, 2007, p. 49. ISBN 978-0-596-55532-0. 
  3. «Use of FLAG in programming» (en anglès americà), 04-12-2018. [Consulta: 2 desembre 2023].
  4. «Flag Definition» (en anglès). [Consulta: 2 desembre 2023].