Compartir a través de


Constantes enteras de C++

Las constantes de tipo entero son los datos constantes que no tienen ninguna fracciones o exponente.Siempre empiezan con un dígito.Puede especificar constantes enteras en decimal, octal, o formato hexadecimal.Se pueden especificar con signo o tipos sin signo y larga o colocar en short tipos.

Gramática

  • entero-constante:
    entero-sufijo de la decimal-constanteopt

    entero-sufijo de la octal-constanteopt

    entero-sufijo de constante hexadecimalopt

    C char-secuencia**'de'**

  • decimal-constante:
    no-cero-dígito

    dígito de la decimal-constante

  • octal-constante:
    0

    octal-dígito de la octal-constante

  • constante hexadecimal:
    dígito hexadecimal de0x

    dígito hexadecimal de 0X

    dígito hexadecimal de constante hexadecimal

  • no-cero-dígito: uno de
    1 2 3 4 5 6 7 8 9

  • octal-dígito: uno de
    0 1 2 3 4 5 6 7

  • dígito hexadecimal: uno de
    0 1 2 3 4 5 6 7 8 9

    una f de d e de la b c

    OBJETO F OF TABLE D E IZQUIERDA C OF TABLE B

  • entero-sufijo:
    largo-sufijo de sin signo-sufijoopt

    sin signo-sufijo de largo-sufijoopt

  • sin signo-sufijo: uno de
    u U

  • largo-sufijo: uno de
    l de l

  • entero-sufijo 64 bits:
    ll de i64 LL

Para especificar constantes enteras mediante la notación octal o hexadecimal, utilice un prefijo que denote base.Para especificar una constante entera de un tipo determinado de entero, utilice un sufijo que denote el tipo.

Para especificar una constante decimal, inicie la especificación con un dígito cero.Por ejemplo:

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 una constante octal, inicie la especificación con 0, seguido por una secuencia de dígitos en el intervalo de 0 a 7.los dígitos 8 y 9 son errores en especificar una constante octal.Por ejemplo:

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

Para especificar una constante hexadecimal, inicie la especificación con 0x o 0X (el caso de “x” no tiene asunto), seguido de una secuencia de dígitos en el intervalo 0 con 9 y a (o A) con f (o F).Los dígitos hexadecimales a (o A) con f (o F) representan valores en el intervalo de 10 a 15.Por ejemplo:

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

para especificar un tipo sin signo, utilice el sufijo de S o de S .Para especificar un tipo long, utilice l o el sufijo de l .Por ejemplo:

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

Para especificar un tipo de 64 bits de entero, utilice el LL, el ll o el sufijo i64.Por ejemplo,

// 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(es-es,VS.110).gifOutput

in f1(int)
in f1(__int64)

Vea también

Referencia

Literales de C++