C28x Data Types
C28x Data Types
C28x C
C28x C
-
-
Language Data Types
Language Data Types
Type
Type
Bit
Bit
Value Range
Value Range
char
char
16
16
Usually 0 .. 255, but can hold 16 bits
Usually 0 .. 255, but can hold 16 bits
int
int
(natural size CPU word)
(natural size CPU word)
16
16
-
-
32K .. 32K, 16 bits signed
32K .. 32K, 16 bits signed
unsigned
unsigned
int
int
16
16
0 .. 64K, 16 bits unsigned
0 .. 64K, 16 bits unsigned
short
short
(same as
(same as
int
int
or smaller)
or smaller)
16
16
same as
same as
int
int
unsigned short
unsigned short
16
16
same as unsigned
same as unsigned
int
int
long
long
(same as
(same as
int
int
or larger)
or larger)
32
32
-
-
2M .. 2M, 32 bits signed
2M .. 2M, 32 bits signed
unsigned long
unsigned long
32
32
0 .. 4M, 32 bits unsigned
0 .. 4M, 32 bits unsigned
float
float
32
32
IEEE single precision
IEEE single precision
double
double
64
64
IEEE double precision
IEEE double precision
long double
long double
64
64
IEEE double precision
IEEE double precision
Data which is 32
Data which is 32
-
-
bits wide, such as longs, must begin on even word
bits wide, such as longs, must begin on even word
-
-
addresses (i.e. 0x0,
addresses (i.e. 0x0,
0x2, etc). This can result in “holes” in structures allocated on
0x2, etc). This can result in “holes” in structures allocated on
the stack.
the stack.
Suggestion: Group all longs together, group all pointers togethe
Suggestion: Group all longs together, group all pointers togethe
r
r
C28x – C Programming D - 5