标志

计算机科学中,标志是充当函数进程信号的值。程序会使用标志的值来确定下一步操作。标志通常是二进制标志,其中包含一个布尔值(true 或 false)。不过,并非所有标志都是二进制的,也就是说,它们可以存储一系列值。

你可以把二进制标志想象成一面小红旗:当它为 false 时平放着,当它为 true 时就会升起。升起的旗子会告诉程序:“停止——执行其他操作。”在计算机编程中,标志的一个常见例子是变量while 循环中的使用。下面的PHP循环会一直迭代,直到将 $flag 设置为 true。

$flag = false;
$i = 1;
while (!$flag)  // 当 $flag 为 true 时停止
{
      echo "$i, ";
      $i++;   // 递增 $i
    if ($i > 100) $flag = true;
}

上面的代码会输出数字(1、2、3……),直到 100。然后循环会中断,因为 $flag 会被设置为 true。在这种情况下使用标志是有效的,但并非必要。相反,可以使用 while ($i < 101) 作为 while 循环条件,而不是 while (!$flag)。这样会产生相同的结果,并且不需要 $flag 变量。编写高效的程序很少需要显式的标志,因为函数中已有的变量通常可以用作标志。

二进制标志只需要一个,可以设置为 0 或 1。不过,字节有 8 个位,这意味着当单个字节存储一个二进制标志时,其中有 7 个位未被使用。虽然单个字节仍然只占用很少的数据,但程序员可能会选择使用单个字节来存储多个二进制标志。

非二进制标志

非二进制标志使用多个位,可以存储的不只是“是或否”或“true 或 false”。这类标志需要多个位,但不一定需要完整的一个字节。例如,两个位可以产生四种可能的选项。

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

你可以把非二进制标志想象成一面有多种颜色的旗子。程序可以检查:1)多位标志是否已设置;2)它包含什么值。程序会根据标志的值(或“颜色”)沿相应的方向继续运行。

更新日期 May 17, 2018 作者 Per C.

quiz测试你的知识

What does an iterating function create?

A
Stack
0%
B
Heap
0%
C
Loop
0%
D
Path
0%
Correct! Incorrect!     View the Loop definition.
More Quizzes →

Tech Terms 计算机词典

本页中标志的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。