Найти в Дзене
Программирование

Типы данных. Язык Си (1 часть)

Язык Си - типизированный. Это означает, что каждая переменная имеет тип, который указывает, какие данные, могут в этой переменной храниться. В языке Си существуют 3 большие группы базовых типов данных: Сегодня разберем целочисленные типы данных: 1. char 2. short 3. long 4. int В чем же отличия между этими типами данных? Отличия в том, что каждый тип имеет свой диапазон допустимых значений. То есть, char может хранить в себе любое значение из диапазона от -128 до 127, занимает при этом 1 байт (8 бит) памяти. Short имеет диапазон значений от -32 768 до 32 767, занимает в памяти 2 байта (16 бит). Int в зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита). Диапазон предельных значений соответственно также может варьироваться от –32768 до 32767 (при 2 байтах) или от −2 147 483 648 до 2 147 483 647 (при 4 байтах). Long представляет целое число в диапазоне от -2 147 483 648 до 2 147 483 647. Занимает в памяти 4 байта (32 бита). Исходя из этого возника

Язык Си - типизированный. Это означает, что каждая переменная имеет тип, который указывает, какие данные, могут в этой переменной храниться.

В языке Си существуют 3 большие группы базовых типов данных:

  • целочисленные
  • с десятичной запятой (их еще называют с плавающей запятой)
  • указатели

Сегодня разберем целочисленные типы данных:

1. char

2. short

3. long

4. int

В чем же отличия между этими типами данных?

Отличия в том, что каждый тип имеет свой диапазон допустимых значений.

То есть, char может хранить в себе любое значение из диапазона от -128 до 127, занимает при этом 1 байт (8 бит) памяти.

Short имеет диапазон значений от -32 768 до 32 767, занимает в памяти 2 байта (16 бит).

Int в зависимости от архитектуры процессора может занимать 2 байта (16 бит) или 4 байта (32 бита). Диапазон предельных значений соответственно также может варьироваться от –32768 до 32767 (при 2 байтах) или от −2 147 483 648 до 2 147 483 647 (при 4 байтах).

Long представляет целое число в диапазоне от -2 147 483 648 до 2 147 483 647. Занимает в памяти 4 байта (32 бита).

Исходя из этого возникает вопрос. Зачем использовать short (или какой-нибудь другой тип данных), если можно постоянно использовать long. Дело в том, что short съедает в 2 раза меньше памяти, чем long и куда лучше использовать short, если нам нужно записать маленькое число, чтобы наша программа была более оптимизирована.

5. unsigned char

6. unsigned short

7. unsigned long

8. unsigned int

Приставка unsigned говорит о том, что такой тип данных не имеет отрицательных значений, а положительные значения удваиваются.

Таким образом, диапазон unsigned char составляет от 0 до 255, unsigned short от 0 до 65 535, unsigned int от 0 до 4 294 967 295, а unsigned long от 0 до 4 294 967 295 (или от 0 до 65 535).

9. long long

Представляет целое число в диапазоне от -9 223 372 036 854 775 807 до +9 223 372 036 854 775 807. Занимает в памяти, как правило, 8 байт (64 бита).

10. unsigned long long

Имеет диапазон значений от 0 до 18 446 744 073 709 551 615. Занимает в памяти 8 байт (64 бита).