플래그

컴퓨터 과학에서 플래그는 함수프로세스에 대한 신호 역할을 하는 값입니다. 플래그의 값은 프로그램의 다음 단계를 결정하는 데 사용됩니다. 플래그는 불리언 값(true 또는 false)을 포함하는 이진 플래그인 경우가 많습니다. 그러나 모든 플래그가 이진인 것은 아니며, 여러 값의 범위를 저장할 수 있는 플래그도 있습니다.

이진 플래그를 작은 빨간 깃발이라고 생각해 보세요. false일 때는 깃발이 바닥에 누워 있다가 true가 되면 위로 올라옵니다. 깃발이 올라가면 프로그램에 "멈추고 다른 작업을 수행하라"고 알리는 것입니다. 컴퓨터 프로그래밍에서 플래그를 사용하는 일반적인 예는 while 루프변수입니다. 아래의 PHP 루프는 $flag가 true로 설정될 때까지 반복 실행됩니다.

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

코드는 100까지 숫자(1, 2, 3...)를 출력합니다. 그런 다음 $flag가 true로 설정되므로 루프가 중단됩니다. 이 상황에서 플래그를 사용하는 것은 효과적이지만 꼭 필요하지는 않습니다. 대신 while (!$flag) 대신 while 루프 조건을 while ($i < 101)로 설정할 수 있습니다. 이렇게 하면 같은 결과가 나오고 $flag 변수가 필요하지 않습니다. 효율적으로 작성된 프로그램에는 명시적인 플래그가 필요한 경우가 드뭅니다. 함수 안에 이미 있는 변수를 플래그로 사용할 수 있는 경우가 많기 때문입니다.

이진 플래그에는 0 또는 1로 설정할 수 있는 비트 하나만 필요합니다. 그러나 바이트는 8비트이므로, 한 바이트에 이진 플래그 하나를 저장하면 7비트가 사용되지 않습니다. 한 바이트는 여전히 매우 적은 양의 데이터이지만, 프로그래머는 여러 이진 플래그를 저장하기 위해 1바이트를 사용할 수도 있습니다.

비이진 플래그

비이진 플래그는 여러 비트를 사용하며 "예 또는 아니요"나 "true 또는 false"보다 많은 값을 저장할 수 있습니다. 이러한 유형의 플래그에는 1비트보다 많은 비트가 필요하지만, 반드시 전체 바이트가 필요한 것은 아닙니다. 예를 들어 2비트로 네 가지 가능한 옵션을 만들 수 있습니다.

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

비이진 플래그를 여러 색으로 이루어진 깃발이라고 생각해 보세요. 프로그램은 1) 여러 비트로 이루어진 플래그가 설정되어 있는지, 2) 어떤 값을 포함하는지 확인할 수 있습니다. 플래그의 값(또는 "색")에 따라 프로그램은 해당하는 방향으로 계속 실행됩니다.

업데이트됨 May 17, 2018 작성: Per C.

quiz지식 테스트하기

Which programming language is designed for web scripting?

A
C
0%
B
C++
0%
C
PHP
0%
D
Scheme
0%
Correct! Incorrect!     View the PHP definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 플래그에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.