Data Types- their sizes and ranges

[Back]

** This is compiler dependant- see your compiler docs for your actual values

16-bit data types, sizes, and ranges
Type Bits Value Range Typical Usage
unsigned char 8 0 to 255 Small numbers and full PC character set
char 8 -128 to 127 Very small numbers and ASCII characters
enum 16 -32,768 to 32,767 Ordered sets of values
unsigned int 16 0 to 65,535 Larger numbers and loops
short int 16 -32,768 to 32,767 Counting, small numbers, loop control
int 16 -32,768 to 32,767 Counting, small numbers, loop control
unsigned long 32 0 to 4,294,967,295 Astronomical distances
long 32 -2,147,483,648 to 2,147,483,647 Large numbers, populations
float 32 3.4 ^ 10-38 to 3.4 ^ 1038 Scientific (7-digit precision)
double 64 1.7 ^ 10-308 to 1.7 ^ 10308 Scientific (15-digit precision)
long double 80 3.4 ^ 10-4932 to 1.1 ^ 104932 Financial (18-digit precision)
near pointer 16 Not applicable Manipulating memory addresses
far pointer 32 Not applicable Manipulating addresses outside current segment



32-bit data types, sizes, and ranges
Type Bits Value Range Typical Usage
unsigned char 8 0 to 255 Small numbers and full PC character set
char 8 -128 to 127 Very small numbers and ASCII characters
short int 16 -32,768 to 32,767 Counting, small numbers, loop control
unsigned int 32 0 to 4,294,967,295 Large numbers and loops
int 32 -2,147,483,648 to 2,147,483,647 Counting, small numbers, loop control
unsigned long 32 0 to 4,294,967,295 Astronomical distances
enum 32 -2,147,483,648 to 2,147,483,647 Ordered sets of values
long 32 -2,147,483,648 to 2,147,483,647 Large numbers, populations
float 32 3.4 ^ 10-38 to 3.4 ^ 1038 Scientific (7-digit precision)
double 64 1.7 ^ 10-308 to 1.7 ^ 10308 Scientific (15-digit precision)
long double 80 3.4 ^ 10-4932 to 1.1 ^ 104932 Financial (18-digit precision)


[Back]