Назад к вопросам
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;
}