#include void printBits( void *ptr ); float f( float x) { printf(" f: x = %f , in binary: ", x); printBits(&x); printf("\n"); float r; r = x*x; printf(" f: r = %f , in binary: ", r); printBits(&r); printf("\n"); return(r); } int main(int argc, char *argv[] ) { int a, b; a = 2; printf("main: a = %d , in binary: ", a); printBits(&a); printf("\n"); b = f(a); printf("main: b = %d , in binary: ", b); printBits(&b); printf("\n\n"); } /* ------------------------------------- Print bit representation ------------------------------------- */ void printBits( void *ptr ) { int x = *((int *)ptr); int i; for ( i = 31; i >= 0; i-- ) { if ( (x & (1 << i)) != 0 ) printf("1"); else printf("0"); } }