getbits.c
author Markus Bröker <mbroeker@largo.dyndns.tv>
Fri, 27 Dec 2013 16:00:09 +0100
changeset 167 7c6b221900bf
parent 141 0b5befeb361e
permissions -rw-r--r--
Proper Datatypes to leave the 80's

/**
 * getbits.c
 * Copyright (C) 2010 Markus Broeker
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BITS 8

char *getbits (unsigned int 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;
    char *s = strdup (getbits (0));

    for (i = 240; i < 255; i++)
        printf ("%s %s %s %s (%d)\n", s, s, s, getbits (i), i);
    free (s);

    return 0;
}