1 #include <limits.h>
2 #include <stdio.h>
3
4 int
main(void)5 main(void) {
6 signed char schr = SCHAR_MAX - 123;
7 unsigned char uchr = UCHAR_MAX - 123;
8 short shrt = SHRT_MAX - 456;
9 unsigned short ushrt = USHRT_MAX - 666;
10 int i = INT_MAX - 3688;
11 unsigned int ui = UINT_MAX - 11122;
12 long l = LONG_MAX - 347;
13 unsigned long ul = ULONG_MAX - 90000;
14 long long ll = LONG_MAX - 4821;
15 unsigned long long ull = ULONG_MAX - 899;
16
17 /* Convert to signed */
18 printf("%d, %d, %d, %ld, %lld\n",
19 (signed char)schr,
20 (short)schr, (int)schr, (long)schr, (long long)schr);
21 printf("%d, %d, %d, %ld, %lld\n",
22 (signed char)uchr,
23 (short)uchr, (int)uchr, (long)uchr, (long long)uchr);
24 printf("%d, %d, %d, %ld, %lld\n",
25 (signed char)shrt,
26 (short)shrt, (int)shrt, (long)shrt, (long long)shrt);
27 printf("%d, %d, %d, %ld, %lld\n",
28 (signed char)ushrt,
29 (short)ushrt, (int)ushrt, (long)ushrt, (long long)ushrt);
30 printf("%d, %d, %d, %ld, %lld\n",
31 (signed char)i,
32 (short)i, (int)i, (long)i, (long long)i);
33 printf("%d, %d, %d, %ld, %lld\n",
34 (signed char)ui,
35 (short)ui, (int)ui, (long)ui, (long long)ui);
36 printf("%d, %d, %d, %ld, %lld\n",
37 (signed char)l,
38 (short)l, (int)l, (long)l, (long long)l);
39 printf("%d, %d, %d, %ld, %lld\n",
40 (signed char)ul,
41 (short)ul, (int)ul, (long)ul, (long long)ul);
42 printf("%d, %d, %d, %ld, %lld\n",
43 (signed char)ll,
44 (short)ll, (int)ll, (long)ll, (long long)ll);
45 printf("%d, %d, %d, %ld, %lld\n",
46 (signed char)ull,
47 (short)ull, (int)ull, (long)ull, (long long)ull);
48
49 /* Convert to unsigned */
50 printf("%u, %u, %u, %lu, %llu\n",
51 (unsigned char)schr,
52 (unsigned short)schr, (unsigned int)schr, (unsigned long)schr,
53 (unsigned long long)schr);
54 printf("%u, %u, %u, %lu, %llu\n",
55 (unsigned char)uchr,
56 (unsigned short)uchr, (unsigned int)uchr, (unsigned long)uchr,
57 (unsigned long long)uchr);
58 printf("%u, %u, %u, %lu, %llu\n",
59 (unsigned char)shrt,
60 (unsigned short)shrt, (unsigned int)shrt, (unsigned long)shrt,
61 (unsigned long long)shrt);
62 printf("%u, %u, %u, %lu, %llu\n",
63 (unsigned char)ushrt,
64 (unsigned short)ushrt, (unsigned int)ushrt, (unsigned long)ushrt,
65 (unsigned long long)ushrt);
66 printf("%u, %u, %u, %lu, %llu\n",
67 (unsigned char)i,
68 (unsigned short)i, (unsigned int)i, (unsigned long)i,
69 (unsigned long long)i);
70 printf("%u, %u, %u, %lu, %llu\n",
71 (unsigned char)ui,
72 (unsigned short)ui, (unsigned int)ui, (unsigned long)ui,
73 (unsigned long long)ui);
74 printf("%u, %u, %u, %lu, %llu\n",
75 (unsigned char)l,
76 (unsigned short)l, (unsigned int)l, (unsigned long)l,
77 (unsigned long long)l);
78 printf("%u, %u, %u, %lu, %llu\n",
79 (unsigned char)ul,
80 (unsigned short)ul, (unsigned int)ul, (unsigned long)ul,
81 (unsigned long long)ul);
82 printf("%u, %u, %u, %lu, %llu\n",
83 (unsigned char)ll,
84 (unsigned short)ll, (unsigned int)ll, (unsigned long)ll,
85 (unsigned long long)ll);
86 printf("%u, %u, %u, %lu, %llu\n",
87 (unsigned char)ull,
88 (unsigned short)ull, (unsigned int)ull, (unsigned long)ull,
89 (unsigned long long)ull);
90 return 0;
91 }
92
93