16 #define MAX_NUMS ((INT_MAX >> 5) + 1)
26 int main(
int argc,
char** argv)
28 const char* usage =
"usage: %s filename\n";
32 static unsigned int have_num[
MAX_NUMS];
40 assert(
sizeof(
int) == 4);
46 fprintf(stderr, usage, argv[0]);
50 memset(have_num, 0,
sizeof(have_num));
54 if (NULL == (fp = fopen(argv[1],
"r")))
62 while(fread(&n,
sizeof(n), 1, fp))
71 unsigned int msk = 1 << (n & 31);
84 fprintf(stderr,
"Total numbers read = %d\n", total_nums);
88 for(
int k = 0; k < 31; k++)
89 if (have_num[i] & (1 << k))
90 printf(
"%d\n", (i << 5) + k);
int main(int argc, char **argv)
Program to read a file with binary positive 32 bit integers, sort the numbers and print them sorted...
#define MAX_NUMS
Maximum number of 32 bit ints we need to store bits.