1barfoo (a)
2{
3  return (a << 16) & ~0xffff;
4}
5
6foobar (a)
7{
8  return ((unsigned short) a) << 15;}
9
10foo (a)
11{
12  return (a & 0x121) << 31;
13}
14
15bar (a)
16{
17  return (a & ~0xffff) << 16;
18}
19
20main ()
21{
22  int a;
23
24  for (a = 1;  a; a += a)
25    {
26      printf ("%d", (foo (a)));
27    }
28  puts ("");
29}
30
31