/*
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);
}
No comments:
Post a Comment