Что такое (x & 1) и (x >>= 1)?C++

Программы на C++. Форум разработчиков
Anonymous
Что такое (x & 1) и (x >>= 1)?

Сообщение Anonymous »

Я пытаюсь выполнить задание: «Найти количество битов в целочисленном типе данных без знака, не используя функцию sizeof()».

И мой проект такой: для преобразования целого числа в биты и последующего их подсчета. Например: 10 — это 1010, а 5 — 101

Преобразование целого числа в битовое представление показывает примерно следующее:

Код: Выделить всё

do
{
Vec.push_back( x & 1 )
}
while ( x >>= 1 );
Я не хочу просто копировать и вставлять вещи. Когда я использую F-10, я вижу, что делает (x & 1), но я не знаю его имени или того, как он выполняет свою работу (сравнить что-нибудь?). Также я знаю >=, что «больше или равно», но что такое x >>= 1?

Примечание: отмеченный дубликат JavaScript, а не C++

Подробнее здесь: https://stackoverflow.com/questions/389 ... -1-and-x-1

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