C + + 정수 상수

정수 상수는 소수 부분 또는 지 수 없는 상수 데이터 요소입니다.항상 숫자로 시작 합니다.10 진수, 8 진수 또는 16 진수 양식에서 정수 상수를 지정할 수 있습니다.부호 있는 또는 부호 없는 형식 및 long 또는 short 형식을 지정할 수 있습니다.

문법

  • 정수 계열 상수:
    10 진수 상수 정수 접미사선택

    8 진수 상수 정수 접미사선택

    16 진수 상수 정수 접미사선택

    'c-char-sequence'

  • 10 진수 상수:
    0이 아닌 숫자

    상수 소수 자릿수

  • 8 진수 상수:
    0

    자리 8 진수 8 진수 상수

  • 16 진수 상수:
    0 x16 진수 자리

    0 X16 진수 자리

    16 진수 자리 16 진수 상수

  • 0이 아닌 숫자: 중 하나
    1 2 3 4 5 6 7 8 9

  • 8 진수 숫자: 중 하나
    0 1 2 3 4 5 6 7

  • 16 진수 숫자: 중 하나
    0 1 2 3 4 5 6 7 8 9

    b c e f

    A B C D E F

  • 정수 접미사:
    부호 없는 접미사가 long 접미사가선택

    long 접미사가 부호 없는 접미사가선택

  • 부호 없는 접미사가: 중 하나
    u U

  • long 접미사가: 중 하나
    l L

  • 64 비트 정수 접미사:
    i64 LL ll

8 진수 또는 16 진수 노테이션을 사용 하 여 정수 상수를 지정 하려면 밑을 나타내는 접두사를 사용 합니다.지정 된 정수 계열 형식과의 정수인 상수를 지정 하려면 형식을 나타내는 접미사를 사용 합니다.

10 진수 상수를 지정 하려면 0이 아닌 숫자는 사양을 시작 합니다.예를 들면 다음과 같습니다.

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

8 진수는 상수를 지정 하려면 0, 0에서 7 사이의 숫자 다음에 사양을 시작 합니다.8-9의 숫자에는 8 진수 상수를 지정 하는 오류입니다.예를 들면 다음과 같습니다.

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

16 진수 상수를 지정 하는 시작 0x 또는 0X ("x"의 대/소문자, 숫자 범위에서 다음에 상관 없음) 0 - 9 및 a (또는 A)를 통해 f (또는 F).16 진수 a (또는 A) 통해 f (또는 F)에서 10에서 15 사이의 값을 표시 합니다.예를 들면 다음과 같습니다.

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

부호 없는 형식을 지정 하려면 사용은 u 또는 U 접미사입니다.사용할 long 형식을 지정 하는 l 또는 L 접미사.예를 들면 다음과 같습니다.

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

64 비트 정수 계열 형식을 지정 하는 LL, ll 또는 i64 접미사를 사용 합니다.다음 예제를 참조하십시오.

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

in f1(int)
in f1(__int64)

참고 항목

참조

C + + 리터럴