F:\Vijay\C> type range.c
/*
* range.c Find out ranges of short and int.
* Author - Vijay Kumar R Zanvar
* Date - Jul 1, 2004
*/
#include
#include
#include
#define OFFSET(x) (sizeof((x)) * CHAR_BIT - 1)
int
main ( void )
{
short s = (short)1 << OFFSET(s);
int i = 1 << OFFSET(i);
printf ( "SHRT_MIN:\t%-12d\t%-12d\n", s, SHRT_MIN );
s = ~((short)0) ^ ((short)1 << OFFSET(s));
printf ( "SHRT_MAX:\t%-12d\t%-12d\n", s, SHRT_MAX );
printf ( "INT_MIN:\t%-12d\t%-12d\n", i, INT_MIN );
i = ~0 ^ (1 << OFFSET(i));
printf ( "INT_MAX:\t%-12d\t%-12d\n", i, INT_MAX );
return EXIT_SUCCESS;
}
F:\Vijay\C> gcc range.c
F:\Vijay\C> a
SHRT_MIN: -32768 -32768
SHRT_MAX: 32767 32767
INT_MIN: -2147483648 -2147483648
INT_MAX: 2147483647 2147483647
               (
geocities.com/vijoeyz/faq)                   (
geocities.com/vijoeyz)