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