Флаг (программирование)
В компьютерном программировании флаг может относиться к одному или нескольким битам , которые используются для хранения двоичного значения или логической переменной для сигнализации особых условий кода , таких как статус пустого файла или полной очереди. [1] [2]
Флаги могут быть найдены как члены определенной структуры данных , такой как запись базы данных , и значение значения, содержащегося в флаге, обычно определяется относительно структуры данных, частью которой он является. Во многих случаях двоичное значение флага будет пониматься как представляющее одно из нескольких возможных состояний или статусов. В других случаях двоичные значения могут представлять один или несколько атрибутов в битовом поле , часто связанных с возможностями или разрешениями, например «можно записать» или «можно удалить». Однако существует множество других возможных значений, которые можно присвоить значениям флагов. Одним из распространенных способов использования флагов является маркировка или обозначение структур данных для будущей обработки.
В микропроцессорах и других логических устройствах флаги обычно используются для управления или указания промежуточного или конечного состояния или результата различных операций. Микропроцессоры обычно имеют, например, регистр состояния , состоящий из таких флагов, и эти флаги используются для обозначения различных состояний после операции, например, когда произошло арифметическое переполнение . Флаги могут использоваться в последующих операциях, например, при обработке инструкций условного перехода . Например, инструкция je (Перейти, если равно) на языке ассемблера X86 приведет к переходу, если флаг Z (ноль) был установлен какой-либо предыдущей операцией.
Переключатель командной строки также называется флагом. Программы командной строки параметров часто начинаются с анализатора , который преобразует переключатели командной строки в флаги в смысле этой статьи.
См. также
[ редактировать ]- Битовое поле
- Регистр управления
- Перечислимый тип
- Регистр ФЛАГОВ (вычисления)
- Слово состояния программы
- Семафор (программирование)
- Регистр состояния
Ссылки
[ редактировать ]- ^ Хей, Дж. (1994). Проектирование компьютерных программ . Эльзевир Наука. п. 59. ИСБН 978-0-08-050403-2 . Проверено 31 июля 2023 г.
- ^ Фицджеральд, М. (2007). Изучение Ruby: язык, лежащий в основе Rails . О'Рейли Медиа. п. 49. ИСБН 978-0-596-55532-0 . Проверено 31 июля 2023 г.