Установка битов
Немножко просел по побитовым операциям.
Не совсем понимаю, как, допустим, установить 7 бит в 1.
int N;
cin >> N;
N |= (1 << (31-7));
cout << N;
Тобишь сдвигаем на 31-7 и пишем в первый бит.
Или я не правильно что-то понимаю?
Верно ли мое решение?
Ответы (1 шт):
Автор решения: Юрий Козлов
→ Ссылка
Биты нумеруются справа на лево, начиная с нуля.
Поэтому установить седьмой бит можно следующим образом:
N |= (1 << 7);
А сбросить, соответственно, следующим:
N &= (0xFFFE << 7); //для 32-битного N