Nem tudom aktuális-e még a kérdés két hét múlva, mindenesetre írok egy kódot, abból remélem meg lehet érteni, hogy mûködik:
#include <stdio.h>
typedef unsigned int UINT;
UINT binary1(UINT value) {
UINT result = 0 , bit = 1;
while (bit < value) {
if (value & bit != 0)
++result;
bit <<= 1;
}
return result;
}
void select(int a , int b) {
printf("%d\n" , binary1(a) <= binary1(b) ? a : b);
}