Назад к вопросам
Junior
83
questionbank
Как установить значение 0 в определенный бит числа?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Чтобы установить значение 0 в n-й бит числа x, используют побитовую операцию И (&) с маской, где n-й бит равен 0, а остальные — 1.
Маску можно получить, инвертировав (~) число, в котором только n-й бит равен 1. Число с n-м битом равным 1 получают, сдвинув 1 влево на n позиций (1U << n).
#include <iostream>
int main() {
unsigned int x = 0b11010110; // Произвольное число
int n = 2; // Номер бита (считая справа, начиная с 0)
// Создаем маску с 0 в n-й позиции и 1 в остальных
unsigned int mask = ~(1U << n);
// Применяем маску с помощью побитового И
x = x & mask;
std::cout << "Число после установки 0 в " << n << "-й бит: " << std::bitset<8>(x) << std::endl;
return 0;
}