[C언어/C++] 정수 리터럴 접미사 사용하기

변수를 선언할 때는 long, long long, unsigned long 처럼 정수 자료형으로 크기를 정할 수 있지만 리터럴(데이터 그 자체)은 접미사를 활용하여 크기를 명시적으로 표기한다.

접미사자료형
생략int
l, Llong
u, Uunsigned int
ul, ULunsigned long
ll, LLlong long
ull, ULLunsinged long long

접미사는 대문자와 소문자 모두를 사용할 수 있고 l과 u를 조합하여 크기와 부호의 유무를 표현한다.(대소문자를 섞어 쓸 수도 있음)

접미사를 생략하면 int 크기가 되고 10진수 뿐만 아니라 8진수와 16진수에도 접미사를 사용 가능하다.

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{    
    cout << 1234567890UL << ‘\n’;    // unsigned long 크기의 정수 리터럴
    cout << 017L << ‘\n’;            // long 크기의 8진수 정수 리터럴
    cout << 017UL << ‘\n’;           // unsigned long 크기의 8진수 정수 리터럴
    cout << 0x7FFFFFL << ‘\n’;       // long 크기의 16진수 정수 리터럴
    cout << 0xFFFFFFFFUL << ‘\n’;    // unsigned long 크기의 16진수 정수 리터럴
 
    return 0;
}
cs

관련글

제목 작성자 작성일