Wednesday, December 28, 2011

1st post - bitCount in C


/*
Name: Andrew Guandique 
Lab section time: 02L
*/
#include <stdio.h>
int bitCount (unsigned int n);
int prob6(unsigned int n);
int main (int argc, char *argv[]) 
{
unsigned int n;
printf ("# 1-bits in base 2 representation of %u = %d, should be 0\n",
0, bitCount (0));
printf ("# 1-bits in base 2 representation of %u = %d, should be 1\n",
1, bitCount (1));
printf ("# 1-bits in base 2 representation of %u = %d, should be 16\n",
2863311530u, bitCount (2863311530u));
printf ("# 1-bits in base 2 representation of %u = %d, should be 1\n",
536870912, bitCount (536870912));
printf ("# 1-bits in base 2 representation of %u = %d, should be 32\n",
4294967295u, bitCount (4294967295u));
printf("%u = %d, should be \n", n, prob6(n));
return 0;
}
int bitCount (unsigned int n) 
{
int count1 = 0;
while (n != 0)
{
if (n%2 == 1
count1++;
n = n >> 1;
}
return count1;
}

int prob6(unsigned int n) 
{
return (bitCount(n)%2);
}