/* Project CountBits1 Zählung aller gesetzten bits (bit=1) in einer ganzen Zahl (int) Version 1.0 / 2002.04.01 Autor: pstrainer@gmx.net */ #include #include #include #include #include int count_1(int); void print_bin(int); void main (void) { int n1,i; printf("Projekt CountBits\n"); i=1; while (i!=0) { printf("\nEingabe einer ganzen Zahl: "); scanf("%d",&i); print_bin(i); // print binary number n1=count_1(i); printf("Anzahl(1)=%d\n",n1); } #ifdef _DEBUG printf("\nPress any key to continue "); _getch(); #endif } int count_1(int i) { /* Funktion count_1 Zählung aller gesetzten bits (bit=1) in einer ganzen Zahl (int) Version 1.0 / 2002.04.01 Autor: pstrainer@gmx.net Syntax: int count_1(int); ... int n1,i; ... n1=count_1(i); Length: 9 lines of code */ int s,b,count=0; s=sizeof(i)*8; // size in bits for (b=0;b>1; } return count; } void print_bin(int i) { // Ausdruck einer int Zahl als Binärzahl int b,bit,s,mask; s=sizeof(i); // size in bytes mask=128; mask=1 << 7; for (b=1;b