Что делает функция

программирование C++

День добрый!
Был сегодня на собеседовании, и было такое задание где было такое задание:

Описать одним предложением что делает данная функция
Код C++

int FuncName (int a)
{
int sum=0
while ( a != unsigned(-1))
{
m = (m+1) | m;
sum++;
}
return sum;
}

Ответил что это бесконечный цикл и данная функция просто вешает программу, мне сказали что ответ не правильный.

Ну вот мне теперь и интересно что ж такого делает данная функция???
Ответы:
Что-то мне подсказывает что эта функция вызывает ошибку компиляции: символ m не определен
походу считает сколько "нулей" в двоичной записи числа а
если приведённый код верен, то я решительно не понимаю как это работает. вернее понимаю, что никак.
либо цикл перескакивается, либо бесконечный цикл, внутри него a не модифицируется же, да что вам объяснять вы сами знаете


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.