====== Битовые операции ====== В этой заметке мы изложим немного иначе суть статьи Н. Вирта [[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'' в случае выполнения условия.