int mystery(unsigned int v) {
int c;
for (c=0; v; c++) {
v &= v - 1;
}
return c;
}
1) Определение изменения в битовой комбинации между ненулевым номером без знака и его числовым предшественником (число - 1)
===> Младший значащий 1 бит теперь равен 0и все биты, расположенные далее справа, равны 1
Почему ответ на вопрос 1 выше? Пожалуйста, кто-нибудь может дать какое-нибудь понимание с примером?
Спасибо!