Timeline
Chat
Prospettiva

Flag

variabile che può assumere solo due stati Da Wikipedia, l'enciclopedia libera

Remove ads

In informatica, un flag (parola inglese che letteralmente significa bandiera) è una variabile, solitamente booleana, che può assumere solo due stati (identificabili come "vero" o "falso", "on" e "off", "1" e "0", "acceso" e "spento") e che segnala, con il suo valore, se un dato evento si è verificato oppure no, o se il sistema è in un certo stato oppure no[1][2]. I flag vengono impiegati dai programmatori per eseguire determinate operazioni solo al raggiungimento di un determinato stato o al verificarsi di un determinato evento.

Disambiguazione – Se stai cercando altri significati, vedi Flag (disambigua).

L'operazione di porre il valore di un flag a "vero" viene detta impostare il flag, mentre quella di porlo nello stato di "falso" viene detta resettare o azzerare il flag.

Per verificare il raggiungimento dello stato desiderato si effettuano uno o più controlli riguardo al valore del flag nel codice e si cambia il valore del flag solo al raggiungimento dello stato desiderato. Quando, alla verifica del valore del flag, questo risulti essere il cosiddetto valore sentinella (solitamente quello che indica lo stato di "vero" per i flag booleani), si procede eseguendo le necessarie operazioni[3].

Un esempio tipico è l'utilizzo di una variabile di flag booleana chiamata "trovato" (o con altri nomi simili che la rendono di facile identificazione) all'interno di un algoritmo di ricerca. Questa variabile viene inizialmente impostata al valore "falso" e poi cambiata in "vero" solo quando viene trovato l'elemento ricercato. L'algoritmo termina con esito positivo o negativo a seconda che il flag "trovato" abbia assunto, rispettivamente, valore "vero" o "falso".

Altri esempi di utilizzo di flag sono le variabili semaforo usate all'interno dei sistemi operativi per sincronizzare l'accesso alle risorse.

Remove ads

Flag nelle CPU

Riepilogo
Prospettiva

Nelle CPU sono presenti molti flag associati a operazioni matematiche, rappresentati con dei bit singoli organizzati in un importante registro apposito, il registro dei flag[4]. Fra tali flag c'è il flag di zero, che assume il valore 1 ogni volta che l'ultima operazione matematica eseguita dalla CPU ha dato un risultato pari a zero, mentre assume il valore 0 se il risultato è stato un numero diverso da zero. Il valore dei vari flag viene usato nelle istruzioni di salto condizionato della CPU per decidere se saltare o meno.

Flag della CPU Intel 80386

Ecco, come esempio dei flag di una CPU, il registro dei flag della CPU Intel 80386 e il loro significato:

Ulteriori informazioni !Bit, Sigla ...
Remove ads

Note

Altri progetti

Collegamenti esterni

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads