Поделиться через


Целочисленные типы

Всем целым константам присваивается тип на основе их значения и способа представления. Для любой целой константы можно принудительно задать тип long, добавив букву l или L в конец константы; для принудительного задания типа unsigned добавьте в конец значения букву u или U. Следует избегать использования буквы l в нижнем регистре, так как ее можно перепутать с цифрой 1. Ниже приведены некоторые формы целых констант long:

/* Long decimal constants */
10L
79L

/* Long octal constants */
012L
0115L

/* Long hexadecimal constants */
0xaL or 0xAL
0X4fL or 0x4FL

/* Unsigned long decimal constant */
776745UL
778866LU

Тип, присваиваемый константе, зависит от значения, которое она представляет. Значение константы должно находиться в диапазоне представимых значений для ее типа. Тип константы определяет, какие преобразования выполняются при использовании константы в выражении или при добавлении знака "минус" (). В этом списке перечислены правила преобразования целых констант.

  • Для десятичной константы без суффикса используется тип int, long int или unsigned long int. Константе присваивается первый из этих 3 типов, в котором возможно представление значения константы.

  • Восьмеричным или шестнадцатеричным константам без суффиксов присваивается тип int, unsigned int, long int или unsigned long int в зависимости от размера константы.

  • Константам с суффиксом u или U в зависимости от их размера присваивается тип unsigned int или unsigned long int.

  • Константам с суффиксом l или L в зависимости от их размера присваивается тип long int или unsigned long int.

  • Константам с суффиксами u или U и l или L присваивается тип unsigned long int.

См. также

Ссылки

Целочисленные константы в C