synapsis
09:15 16-12-2002 Пригодится:
Функция подсчёта количества двоичных едениц в переменной - задача скорее для проверки сообразительности и.
Я знаю очень красивый алгоритм:

int function (unsigned value)
{
int count;
for (count = 0; value; count++) value &= (value - 1);
return count;
}

А вот ещё более быстрый:

char lookupTable[] = { 0, 1, 1, 2, 1, 2, ... } //0-255 binary digit count

inline char getDigitCount(unsigned char v)
{
return lookupTable[v];
}