#include int main() { int f, r1, r2, r3; f = -(1 << 16); r1 = (int)((unsigned int)(f) >> 16); r2 = (int)(short)((f) >> 16); r3 = (int)(short)((unsigned int)(f) >> 16); printf("0x%08x, %d %d %d\n", f, r1, r2, r3); return 0; }