/**
* getbits.c
* Copyright (C) 2010 Markus Broeker
*
*/
#include <stdio.h>
#include <limits.h>
#include <string.h>
#define BITS 64
char *getbits (unsigned long long what)
{
static char byte[BITS + 1];
short i = BITS;
memset (byte, '0', BITS);
while (what > 0) {
byte[--i] = (what % 2) ? '1' : '0';
what >>= 1;
}
byte[BITS] = '\0';
return byte;
}
int main (void)
{
unsigned int i;
for (i = 1; i < 16; i++)
printf ("%s\n", getbits (i));
printf ("%s\n", getbits (USHRT_MAX));
printf ("%s\n", getbits (UINT_MAX));
printf ("%s\n", getbits (ULONG_MAX));
#ifdef ULLONG_MAX
printf ("%s\n", getbits (ULLONG_MAX));
#endif
return 0;
}