Flaga

W informatyce flaga to wartość, która działa jako sygnał dla funkcji lub procesu. Wartość flagi służy do określenia następnego kroku programu. Flagi często są binarne i zawierają wartość logiczną (prawda lub fałsz). Jednak nie wszystkie flagi są binarne, co oznacza, że mogą przechowywać zakres wartości.

Flagę binarną można sobie wyobrazić jako małą czerwoną flagę, która leży płasko, gdy ma wartość fałsz, ale podnosi się, gdy ma wartość prawda. Podniesiona flaga mówi programowi: „Zatrzymaj się — zrób coś innego”. Typowym przykładem flagi w programowaniu jest zmienna w pętli while. Poniższa pętla PHP będzie wykonywać iteracje, dopóki zmienna $flag nie otrzyma wartości true.

$flag = false;
$i = 1;
while (!$flag)  // stop when $flag is true
{
      echo "$i, ";
      $i++;   // increment $i
    if ($i > 100) $flag = true;
}

Powyższy kod wyświetli liczby (1, 2, 3...) aż do 100. Następnie pętla zostanie przerwana, ponieważ zmienna $flag otrzyma wartość true. Użycie flagi w tym kontekście jest skuteczne, ale niepotrzebne. Zamiast tego warunek pętli while mógłby mieć postać while ($i < 101), a nie while (!$flag). Dałoby to ten sam wynik i wyeliminowałoby potrzebę używania zmiennej $flag. Wydajnie napisane programy rzadko potrzebują jawnych flag, ponieważ istniejąca zmienna w funkcji często może pełnić funkcję flagi.

Flaga binarna wymaga tylko jednego bitu, który może mieć wartość 0 lub 1. Bajty mają jednak osiem bitów, więc gdy pojedynczy bajt przechowuje flagę binarną, siedem bitów pozostaje niewykorzystanych. Chociaż pojedynczy bajt nadal zajmuje bardzo mało danych, programista może zdecydować się na użycie jednego bajtu do przechowywania wielu flag binarnych.

Flagi niebinarne

Flagi niebinarne używają wielu bitów i mogą przechowywać więcej informacji niż „tak lub nie” albo „prawda lub fałsz”. Tego typu flagi wymagają więcej niż jednego bitu, ale niekoniecznie całego bajtu. Na przykład dwa bity mogą tworzyć cztery możliwe opcje.

  1. 00 = opcja A
  2. 01 = opcja B
  3. 10 = opcja C
  4. 11 = opcja D

Flagę niebinarną można sobie wyobrazić jako flagę mającą wiele kolorów. Program może sprawdzić, czy 1) flaga wielobitowa jest ustawiona oraz 2) jaką wartość zawiera. W zależności od wartości (lub „koloru”) flagi program będzie kontynuować działanie w odpowiednim kierunku.

Zaktualizowano May 17, 2018 przez Per C.

quizSprawdź swoją wiedzę

Software translation is an example of what?

A
Encryption
0%
B
Privatization
0%
C
Localization
0%
D
Defragmentation
0%
Correct! Incorrect!     View the Localization definition.
More Quizzes →

Słownik komputerowy Tech Terms

Definicja Flaga na tej stronie jest oryginalną definicją napisaną przez autorów TechTerms.com. Jeśli chcesz odwołać się do tej strony lub zacytować tę definicję, użyj zielonego paska cytowania bezpośrednio poniżej definicji.

Naszym celem jest wyjaśnianie terminologii komputerowej w prosty i zrozumiały sposób. Dążymy do dokładności i prostoty w każdej publikowanej definicji. Jeśli masz uwagi lub chcesz zaproponować nowy termin techniczny, skontaktuj się z nami.

Newsletter Tech Terms

Poszerzaj swoją wiedzę techniczną dzięki naszemu codziennemu lub tygodniowemu newsletterowi! Subskrybuj już dziś i otrzymuj nowe terminy oraz quizy prosto do skrzynki odbiorczej.

Zapisz się do bezpłatnego newslettera TechTerms

Jak często chcesz otrzymywać e-maile?

Możesz wypisać się lub zmienić częstotliwość w dowolnym momencie, korzystając z linków w każdym e-mailu. Pytania? Skontaktuj się z nami.

Uwaga: Newsletter jest wysyłany w języku angielskim.