To get the sign bit (untested, so I may have done something stupid, apart from not actually writing main and all the rest):
Code:#define SIGN_BIT (1 << 31) float first = -56.43; int *second; unsigned int sign; second = (int *) &first; sign = (*second) & SIGN_BIT; /* note one ampersand for bitwise-and */