Tutaj mam program , który liczy ilość jedynek - prowadzący zastosował przesunięcie bitowe. Jak policzyć ile zer w binarnym ma podana liczba?
'
#include<stdio.h>
//suma jedynek w obliczanu liczby binarnej
int main(){
unsigned int a, suma1;
printf("a = ");
scanf("%d", &a);
suma1 = 0;
while(a)
{
if(a%2)
{
suma1++;
}
a= a>>1;
}
printf("Liczba jedynek = %d\n", suma1);
return 0;
}
Proszę o wytłumaczenie i pomoc :)