====== Битовые операции ======
В этой заметке мы изложим немного иначе суть статьи Н. Вирта [[https://oberoncore.ru/library/wirth_sets|Применение типа SET для управления регистрами]].
Тип множества ''SET'' позволяет удобно осуществлять битовые операции для управления микроконтроллерами.
Пусть есть два множества ''s0 = {0, 1}'' и ''s1 = {0, 2}''.
Сложение объединит биты:
s0 + s1 = {0, 1, 2}
Вычитание уберёт биты второго множества из первого:
s0 - s1 = {1}
Умножение вычислит общие биты в двух множествах (пересечение множеств):
s0 * s1 = {0}
А деление оставит сумму битов за вычетом общих (симметрическая разность):
s0 / s1 = {1, 2}
Для проверки, входит ли число в множество, предусмотрен специальный оператор ''IN''.
IF 3 IN (s0 - s1) THEN DoSmth END
Такой код проверит, есть ли тройка в разности множеств s1 и s2, и запустит процедуру ''DoSmth'' в случае выполнения условия.