Мне нужно написать макрос, который получит в качестве параметра некоторую переменную, и для каждых двух последовательных битов со значением «1» замените его на 0 бит.
Например: 10110100 станет 10000100.
И, 11110000-> 00000000
11100000-> 100000000
У меня проблемы с написанием этого макроса. Я попытался написать макрос, который получает бит wach и заменяет его, если следующий бит одинаков (и они оба равны 1), но он работает только для 8 бит, и это очень не дружелюбно ...
P.S. Мне нужен макрос, потому что я изучаю C, и это упражнение я нашел, и сам не смог его решить. я знаю, что могу использовать функцию, чтобы сделать это легко ... но я хочу знать, как сделать это с макросами.
Спасибо!