1 2 #define S 31 3 #define A 17 4 foo(a)5 foo (a) 6 unsigned a; 7 { 8 return (a >> S) & ((1 << A) - 1); 9 } 10 main()11 main () 12 { 13 printf ("%d%d\n", foo (-1), foo (0)); 14 } 15