Условие
Даны беззнаковое целое число value и номер бита k. Определите значение этого бита. Биты нумеруются с нуля от младшего к старшему: бит 0 соответствует значению 1, бит 1 — значению 2 и так далее.
Используйте тип unsigned int и побитовые операции. Для этих задач предполагается, что unsigned int имеет размер 32 бита. Маски формируйте из беззнаковых значений, например 1u, чтобы операции сдвига выполнялись в беззнаковом типе. Перевод числа в строку двоичных цифр не допускается.
Ограничения
Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.
Входные данные
Два числа в одной строке: value и k. Ограничения: 0 ≤ value ≤ 2³² − 1, 0 ≤ k ≤ 31.
Выходные данные
Одно целое число: 0, если указанный бит сброшен, или 1, если он установлен.
Примеры
10 1
1
10 0
0
2147483648 31
1