Size and Range of Basic Data Types in C Language

Size and Range of Basic Data Types

Data Type

Range of Values

char or signed char

-128 to 127

unsigned char

0 to 255

int or signed int

-32768 to 32767

unsigned int

0 to 65536

long int

-2,147483,648 to + ..47


3.4e-38 to 3.4e+38


1.7e-308 to 1.7e+308

Floating Point Types

  • They are stored in 32 bits in all 16 or 32 bit machines with 6 digits of precision
  • Double provides more accuracy than float
  • It uses 64 bits giving a precision of 14 digits
  • It represents the same data type as float but with double precision, hence double
  • To extend the precision further, one may use long double with 80 bits

Related Links :

1 comment:

  1. range of unsigned int is 0 - 65535 not 65536
    it is the sum of (32768+32767)
    proof: (128+127)=rangeof(unsigned char) as stated in the table.
    Thank You.


If you face any Problem in viewing code such as Incomplete "For Loops" or "Incorrect greater than or smaller" than equal to signs then please collect from My Web Site CLICK HERE

More Useful Topics...


History Of C..

In the beginning was Charles Babbage and his Analytical Engine, a machine
he built in 1822 that could be programmed to carry out different computations.
Move forward more than 100 years, where the U.S. government in
1942 used concepts from Babbage’s engine to create the ENIAC, the first
modern computer.
Meanwhile, over at the AT&T Bell Labs, in 1972 Dennis Ritchie was working
with two languages: B (for Bell) and BCPL (Basic Combined Programming
Language). Inspired by Pascal, Mr. Ritchie developed the C programming

My 1st Program...

void main ()
clrscr ();
printf ("\n\n\n\n");
printf ("\t\t\t*******Pankaj *******\n");
printf ("\t\t\t********************************\n");
printf ("\t\t\t\"Life is Good...\"\n");
printf ("\t\t\t********************************");
getch ();

Next Step...


void main ()
clrscr ();
printf ("\n\n\n\n\n\n\n\n");
printf ("\t\t\t --------------------------- \n\n");

printf ("\t\t\t | IGCT, Info Computers, INDIA | \n\n");
printf ("\t\t\t --------------------------- ");

getch ();