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


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

"Целая константа" является десятичным (основание 10), восьмеричным (основание 8) или шестнадцатеричным (основание 16) числом, представляющим целое значение. Целые константы служат для представления целых значений, которые не могут быть изменены.

Синтаксис

  • целочисленная-константа:
    десятичная-константа суффикс-целого-числа необ

    восьмеричная-константа суффикс-целого-числа необ

    шестнадцатеричная-константа суффикс-целого-числа необ

  • десятичная-константа:
    ненулевая-цифра

    десятичная-константа цифра

  • восьмеричная-константа:
    0

    восьмеричная-константа восьмеричная-цифра

  • шестнадцатеричная-константа:
    0x шестнадцатеричная-цифра

    0X шестнадцатеричная-цифра

    шестнадцатеричная-константа шестнадцатеричная-цифра

  • ненулевая-цифра: одна из указанных ниже
    1 2 3 4 5 6 7 8 9

  • восьмеричная-цифра: одна из указанных ниже
    0 1 2 3 4 5 6 7

  • шестнадцатеричная-цифра: одна из указанных ниже
    0 1 2 3 4 5 6 7 8 9

    a b c d e f

    A B C D E F

  • суффикс-целого-числа:
    суффикс-числа-без-знака суффикс-длинного-числа необ

    суффикс-длинного-числа суффикс-числа-без-знака необ

  • суффикс-числа-без-знака: один из указанных ниже
    u U

  • суффикс-длинного-числа: один из указанных ниже
    l L

  • суффикс-64-битного целого числа:
    i64

Целые константы имеют положительное значение, если перед ними не указан знак "минус" (). Знак "минус" интерпретируется как унарный арифметический оператор изменения знака. (Сведения об этом операторе см. в разделе Унарные арифметические операторы.)

Если целая константа начинается с символов 0x или 0X, она является шестнадцатеричной. Если константа начинается с цифры 0, она восьмеричная. В противном случае считается, что она десятичная.

Следующие строки эквивалентны:

0x1C   /* = Hexadecimal representation for decimal 28 */
034    /* = Octal representation for decimal 28 */

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

/* Decimal Constants */
10
132
32179

/* Octal Constants */
012
0204
076663

/* Hexadecimal Constants */
0xa or 0xA
0x84
0x7dB3 or 0X7DB3

См. также

Ссылки

Константы в C