Partilhar via


Constantes de inteiro do C++

Constantes de inteiro são os elementos de constante de dados que não têm peças fracionários ou expoentes.Eles sempre começam com um dígito.Você pode especificar constantes inteiras em octal, hexadecimal ou decimal.Eles podem especificar os tipos de sinal ou e longa ou curta.

Gramática

  • constante de inteiro:
    sufixo de número inteiro de constante decimalopt

    sufixo de número inteiro de constante octalopt

    inteiro hexadecimal constante-sufixoopt

    'c-char-sequence'

  • constante decimal:
    dígitos diferente de zero

    Dígito decimal constante

  • constante octal:
    0

    constante octal dígito octal

  • constante hexadecimal:
    0 xum dígito hexadecimal

    0 Xum dígito hexadecimal

    Dígito hexadecimal constante hexadecimal

  • diferente de zero dígitos: um dos
    1 2 3 4 5 6 7 8 9

  • Dígito octal: um dos
    0 1 2 3 4 5 6 7

  • Dígito hexadecimal: um dos
    0 1 2 3 4 5 6 7 8 9

    a b c e d ' f

    A B C D E F

  • sufixo de número inteiro:
    sufixo unsigned long-sufixoopt

    sufixo unsigned long-sufixoopt

  • sufixo unsigned: um dos
    u u

  • sufixo de longa: um dos
    l l

  • sufixo de número inteiro de 64 bits:
    ll LL i64

Para especificar as constantes de inteiro usando a notação octal ou hexadecimal, use um prefixo que denota a base.Para especificar uma constante de inteiro de um determinado tipo integral, use um sufixo que denota o tipo.

Para especificar uma constante decimal, comece a especificação com um dígito diferente de zero.Por exemplo:

int i = 157;   // Decimal constant
int j = 0198;  // Not a decimal number; erroneous octal constant
int k = 0365;  // Leading zero specifies octal constant, not decimal

Para especificar uma constante octal, comece a especificação com 0, seguido por uma seqüência de dígitos no intervalo de 0 a 7.Os dígitos de 8 e 9 são erros de especificar uma constante octal.Por exemplo:

int i = 0377;   // Octal constant
int j = 0397;   // Error: 9 is not an octal digit

Para especificar uma constante hexadecimal, comece com a especificação de 0x ou 0X (no caso do "x" não importa), seguido por uma seqüência de dígitos no intervalo 0 por meio de 9 e a (ou A) por meio de f (ou F).Dígitos hexadecimais a (ou A) por meio de f (ou F) representam os valores no intervalo de 10 a 15.Por exemplo:

int i = 0x3fff;   // Hexadecimal constant
int j = 0X3FFF;   // Equal to i

Para especificar um tipo não assinado, use o u ou u sufixo.Para especificar um tipo long, use o l ou l sufixo.Por exemplo:

unsigned uVal = 328u;             // Unsigned value
long lVal = 0x7FFFFFL;            // Long value specified 
                                  //  as hex constant
unsigned long ulVal = 0776745ul;  // Unsigned long value

Para especificar um tipo integral de 64 bits, use a LL, o sufixo ll ou i64.Por exemplo,

// 64bitsuffix.cpp
#include <stdio.h>
enum MyEnum {
   IntType,
   Int64Type
};

MyEnum f1(int) {
   printf("in f1(int)\n");
   return IntType;
}

MyEnum f1(__int64) {
   printf_s("in f1(__int64)\n");
   return Int64Type;
}

int main() {
   MyEnum t1 = f1(0x1234), t2 = f1(0x1234i64);
}

00a1awxf.collapse_all(pt-br,VS.110).gifSaída

in f1(int)
in f1(__int64)

Consulte também

Referência

Literais de C++