WiseLord писал(а):Вот именно, только если это число - константа. А в этом случае и макрос не нужен, по большому счёту. По крайней мере, я не могу особо придумать, для чего такое действительно может понадобится - именно инверсия константы.
Я похожим образом на STM32 порты конфигурирую. Передаю маску для пинов, но там все несколько сложнее, чем на avr, в разных регистрах поле инициализации может быть длиной 1, 2 или 4 бита, потому исходную маску нужно превратить в двойную и четверную, причем именно из одной константы получить две других. Правда чистый С для этого не подходит, но на С++ можно хоть из массива данные брать и они будут константами.