Назад к вопросам
Junior
79
questionbank
Как получить число, представимое в двоичном виде с одной единицей?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Это число, являющееся степенью двойки. Наиболее эффективный способ в C/C++ для получения такого числа с единицей в позиции бита n (нумерация с нуля) - использовать операцию побитового сдвига.
// Получить число с единственной единицей в n-м бите
unsigned int get_power_of_two(int n) {
if (n < 0) {
// Обработка ошибки или возврат 0/исключения в зависимости от требований
return 0;
}
// 1U - литерал unsigned int, чтобы избежать переполнения при сдвиге
return 1U << n;
}
// Пример использования
int main() {
unsigned int num_at_bit_5 = get_power_of_two(5); // Получим число 32 (00100000b)
unsigned int num_at_bit_0 = get_power_of_two(0); // Получим число 1 (00000001b)
return 0;
}