Задача состоит в том, чтобы реализовать логику подсчета битов, используя только побитовые операторы. У меня все работает нормально, но мне интересно, может ли кто-нибудь предложить более элегантный подход.
Разрешены только побитовые операции. Никаких «если», «за» и т. Д.
int x = 4;
printf("%d\n", x & 0x1);
printf("%d\n", (x >> 1) & 0x1);
printf("%d\n", (x >> 2) & 0x1);
printf("%d\n", (x >> 3) & 0x1);
Спасибо.