#include /* * print the bits in an integer */ void prbits(unsigned int x) { int i; /* counter in a for loop */ int bit; /* the bit */ int nbits = sizeof(unsigned int) * 8; /* how many bit in an unsigned int */ /* * loop through the (computer) word, putting out 1 bit at a time */ for(i = 0; i < nbits; i++){ /* extract ith bit */ bit = (x>>(nbits-i))&01; /* print it, visibly */ printf("%c", bit+'0'); } } /* * print the bits in an integer */ void prsbits(int x) { int i; /* counter in a for loop */ int bit; /* the bit */ int nbits = sizeof(unsigned int) * 8; /* how many bit in an unsigned int */ /* * loop through the (computer) word, putting out 1 bit at a time */ for(i = 0; i < nbits; i++){ /* extract ith bit */ bit = (x>>(nbits-i))&01; /* print it, visibly */ printf("%c", bit+'0'); } } int main(void) { int i = -53; unsigned int u; printf("As a signed number, -53 is %d\n", i); printf("And as bits: "); prsbits(i); printf("\n"); u = (unsigned) i; printf("As an unsigned number, -53 is %u\n", u); printf("And as bits: "); prbits(i); printf("\n"); return(0); }