>Size of int is implementation dependent.
But for portability reasons, you can't assume more than -32,767 to +32,767. The standard requires an int to be at least 16 bits. It can be more, but never less, so it's safe to assume 16 bits and non-portable to assume more.
Also why integer is limited to -32767 TO +32767?
>> integer value is 16 bit in size which yields a maximum of 65,536 ( from 2^16) combinations.... and it has different attributes (such as signed(default) , unsigned, short long)..
these attribute may vary the range of the integer limitation...
as default signed/short(-32767 TO +32767)
unsigned/long (0 to 65,535)
in memory scope bit structure signed(-32767) is just equal to unsigned(65535) where in the most significant bit of that int data type is used as a flag.. which determines if the integer value would be positive(0) or negative (1)
signed(-32767) = 11111111 11111111
unsigned(655535) = 11111111 11111111