Data Types

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

float

32

4

±1.175494E-38 to ±3.402823E+38

sbit

1

0 to 1

sfr

8

1

0 to 255

sfr16

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.