C 整数常量

“整数常量”是表示整数值的十进制(基数为 10)、八进制(基数为 8)或十六进制(基数为 16)数字。 使用整数常量表示不能更改的整数值。

语法

  • integer-constant:
    decimal-constant integer-suffix opt

    octal-constant integer-suffix opt

    hexadecimal-constant integer-suffix opt

  • decimal-constant:
    nonzero-digit

    decimal-constant digit

  • octal-constant:
    0

    octal-constant octal-digit

  • hexadecimal-constant:
    0x hexadecimal-digit

    0X hexadecimal-digit

    hexadecimal-constant hexadecimal-digit

  • nonzero-digit: 一个
    1 2 3 4 5 6 7 8 9

  • octal-digit: 一个
    0 1 2 3 4 5 6 7

  • hexadecimal-digit: 一个
    0 1 2 3 4 5 6 7 8 9

    a b c d e f

    A B C D E F

  • integer-suffix:
    unsigned-suffix long-suffix opt

    long-suffix unsigned-suffix opt

  • unsigned-suffix: 一个
    u U

  • long-suffix: 一个
    l L

  • 64-bit integer-suffix:
    i64

整数常量为正数,除非它们的前面有减号 ()。 减号解释为一元算术求反运算符。(有关此运算符的信息,请参阅一元算术运算符。)

如果整数常量以 0x0X 开始,则它是十六进制。 如果它以数字 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 常量