Курс лекций - Микропроцессоры

Целые типы данных


Для определения данных целого типа используются различные ключевые слова, которые определяют диапазон значений и размер области памяти, выделяемой под переменные (табл. 6).

Таблица 6

Тип Размер памяти в битах Размер памяти в байтах Диапазон значений

bit 1 от 0 до 1
char 8 1 от -128 до 127
unsigned shar 8 1 oт 0 до 255
int, short 16 2 от -32768 до 32767
long 32 4 от -2 147 483 648 до 2 147 483 647
unsigned int, unsigned short 16 2 от 0 до 65535
unsigned long 32 4 от 0 до 4 294 967 295
sbit 1   0 или 1
sfr 8 1 oт 0 до 255
sfr16 16 2 от 0 до 65535

Отметим, что ключевые слова signed и unsigned необязательны. Они указывают, как интерпретируется нулевой бит объявляемой переменной, т.е., если указано ключевое слово unsigned, то нулевой бит интерпретируется как часть числа, в противном случае нулевой бит интерпретируется как знаковый. В случае отсутствия ключевого слова unsigned целая переменная считается знаковой. В том случае, если спецификатор типа состоит из ключевого типа signed или unsigned и далее следует идентификатор переменной, то она будет рассматриваться как переменная типа int. Например:

unsigned int n; //Беззнаковое шестнадцатиразрядное число n unsigned int b; int c; //подразумевается signed int c unsigned d; //подразумевается unsigned int d signed f; //подразумевается signed int f

Отметим, что модификатор типа char используется для представления одиночного символа или для объявления строковых литералов. Значением объекта типа char является код (размером 1 байт), соответствующий представляемому символу.

Отметим также, что восьмеричные и шестнадцатеричные константы также могут иметь модификатор unsigned. Это достигается указанием суффикса u или U после константы, константа без этого префикса считается знаковой.

Например:

0xA8C //int signed 01786l //long signed 0xF7u //int unsigned

Содержание раздела