C51 provides you with a number of basic data types to use in your C programs. C51 offers you the standard C data types and also supports several data types that are unique to the 8051 platform. The following table lists the data types available in C51.
Data Type |
Bits |
Bytes |
Value Range |
bit |
1 |
0 to 1 |
|
signed char |
8 |
1 |
-128 to +127 |
unsigned char |
8 |
1 |
0 to 255 |
enum |
16 |
2 |
-32768 to +32767 |
signed short |
16 |
2 |
-32768 to +32767 |
unsigned short |
16 |
2 |
0 to 65535 |
signed int |
16 |
2 |
-32768 to +32767 |
unsigned int |
16 |
2 |
0 to 65535 |
signed long |
32 |
4 |
-2147483648 to 2147483647 |
unsigned long |
32 |
4 |
0 to 4294967295 |
32 |
4 |
±1.175494E-38 to ±3.402823E+38 |
|
sbit |
1 |
0 to 1 |
|
sfr |
8 |
1 |
0 to 255 |
16 |
2 |
0 to 65535 |
|
The bit, sbit, sfr, and sfr16 data types are not provided in ANSI C and are unique to C51. They are described in detail in the following sections.