And 1 0

2. Результат операции "A or B"

1 or 0 1 равен значению бита "A",

0 or 0 0 кроме случая "добавления" к

0 or 1 1 нулевому биту единичного.

Or 1 1

Здесь важно проследить результат "добавления" битов к исходным, поскольку стан

дартный атрибут "ads" имеет только один единичный бит в соответствующей позиции.

Таким образом, условие (af and ads) = ads верно, если "af" и "ads" содержат единичные биты в соответствующей позиции.

Следовательно, операторы для снятия стандартного атрибута из исходного могут иметь вид:

GetFattr(f,af); If (af and ads) = ads then SetFattr(f,af-ads);

В обратном случае можно "добавить" к исходному атрибуту "af" стандартный "ads". "Добавить" стандартный атрибут можно без проверки исходного атрибута, используя операцию "or". Например:

GetFattr(f,af); SetFattr(f, af or ads);

В данном случае "добавление" единичного бита однозначно изменяет исходный атрибут файла.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: