& (а-1) =? смысл

& Биты представляют собой среднее значение, а-а-1 заменяются бинарная, то побитовое операции AND, 1 = 0 & 0,1 & 0,0 & 0 = 1 = 1

а-1 а и два значения побитовые И операции. В = 10, то и (а-1) = 10 & 9 = 1010 & +1001 = 1000 = 8.

& (а-1) полный набор функций: удалить правую сторону 1.
вариант: а = 110, то: а & (а-1) = 100 ,
как правило , используется для подсчета
Int Count = 0;
это время (а)
{
а = а & (а - 1. );
COUNT ++;
}

рекомендация

отblog.csdn.net/dq932073495/article/details/91475870