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);
В данном случае "добавление" единичного бита однозначно изменяет исходный атрибут файла.