Как получить n-й бит заданного десятичного числа? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как получить n-й бит заданного десятичного числа? [дубликат]

Сообщение Anonymous »


Я пытаюсь получить n-й бит заданного числа (начиная с конца двоичного представления числа (от 0)).

Например, у нас есть десятичное число 7 и мы хотим получить 0-й бит. Таким образом, 7 — это 111 в двоичном формате, а 0-й бит — это 1.

Предположим, у нас есть 9, что равно 1001 в двоичном виде, и мы хотим получить второй бит. Это 0.

У меня в голове возникла следующая идея: для первого примера мы возьмем 111 и 001 = 001, что не равно нулю< /em>, поэтому ответ — 1.

Для второго примера мы берем 1001 и 0100 = 0000, что равняется нулю, поэтому ответ равен 0.

По сути, мы берем побитовое и число и число со всеми нулями, кроме 1, в интересующей нас позиции.

Можно ли эффективно реализовать эту идею с помощью кода на C++? Я не знаю, как написать кодом число со всеми нулями, кроме интересующей нас позиции. Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»