Leff
12.06.2020, 19:18
8051 Development Suite
SiLabs Development Suite
https://www.crossware.com/Shop/i8051
Data sizes
The compiler uses the following sizes for the various C data types:
char and unsigned char: 1 byte
short int and unsigned short int: 2 byte
int and unsigned int: 2 bytes
long and unsigned long: 4 bytes
float: 4 bytes (32 bits)
double: 8 bytes (64 bits)
long double: 8 bytes (64 bits)
enum: up to 4 bytes (minimum size to
accommodate members)
bit fields: up to 32 bits
bit: 1 bit
The Crossware 8051 ANSI C compiler supports both 32 bit and 64 bit floating point objects.
32 bit floating point objects contain only 23 bits of precision (the rest is used by the exponent and sign) and are therefore less precise than 32 bit long integers. They are however ideal for the application where low precision floating point arithmetic is all that is required. 64 bit floating point objects contain 53 bits of precision and are therefore ideal where arithmetic accuracy is an important issue.
All floating point arithmetic and normalisation routines are hand-coded in 8051 assembler to provide fast and compact library code.
SiLabs Development Suite
https://www.crossware.com/Shop/i8051
Data sizes
The compiler uses the following sizes for the various C data types:
char and unsigned char: 1 byte
short int and unsigned short int: 2 byte
int and unsigned int: 2 bytes
long and unsigned long: 4 bytes
float: 4 bytes (32 bits)
double: 8 bytes (64 bits)
long double: 8 bytes (64 bits)
enum: up to 4 bytes (minimum size to
accommodate members)
bit fields: up to 32 bits
bit: 1 bit
The Crossware 8051 ANSI C compiler supports both 32 bit and 64 bit floating point objects.
32 bit floating point objects contain only 23 bits of precision (the rest is used by the exponent and sign) and are therefore less precise than 32 bit long integers. They are however ideal for the application where low precision floating point arithmetic is all that is required. 64 bit floating point objects contain 53 bits of precision and are therefore ideal where arithmetic accuracy is an important issue.
All floating point arithmetic and normalisation routines are hand-coded in 8051 assembler to provide fast and compact library code.