Компилятор Keil Cx51: типы данных и порядок байт

Компилятор Cx51 входит в состав средств разработки Keil С51.

Компилятор поддерживает следующие типы данных:

Тип данных Количество
бит
Количество
байт
Диапазон значений
bit 1 0, 1
signed char 8 1 -128…+127
unsigned char 8 1 0…255
enum 8 или 16 1 или 2 -128…+127 или -32768…+32767
signed short 16 2 -32768…+32767
unsigned short 16 2 0…65535
signed int 16 2 -32768…+32767
unsigned int 16 2 0…65535
signed long 32 4 -2147483648…2147483647
unsigned long 32 4 0…4294967295
float 32 4 ±1.175494E-38…±3.402823E+38
data *, idata *, pdata * 8 1 0x00...0xFF
code *, xdata * 16 2 0x0000...0xFFFF
generic pointer 24 3 Memory type (1 байт); Offset (2 байта) 0...0xFFFF

Многобайтовые переменные располагаются в памяти определенным образом, который называется big-endian (от старшего к младшему). То есть самый старший байт хранится в памяти раньше остальных, самый младший сохраняется самым последним. Например число 0x1234 типа int храниться в памяти следующим образом:

Адрес +0 +1
Содержимое 0x12 0x34

Реклама