Junior
165
Wie erhält man eine Zahl, die in binärer Form mit einer einzigen Eins dargestellt werden kann?
Antwort von AI
sobes.tech KI
Это число, являющееся степенью двойки. Наиболее эффективный способ в 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;
}