Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C/C++에서 long long이란? 메모리 크기와 사용법 총정리

C 또는 C++ 프로그래밍을 하다 보면 long long 자료형을 접하게 됩니다. 그렇다면 long long은 정확히 무엇일까요? 이름에서 짐작할 수 있듯이 long long은 long보다 두 배 많은 메모리를 차지하도록 설계된 자료형으로, 매우 큰 정수 값을 다룰 때 유용하게 사용됩니다.

다만 실제로 할당되는 메모리 크기는 운영체제와 컴파일러 환경에 따라 달라집니다. 예를 들어 리눅스 환경에서는 long이 64비트(8바이트), long long이 128비트(16바이트)를 차지하는 경우가 있으며, 윈도우 환경에서는 일반적으로 long과 long long이 모두 64비트(8바이트)로 처리됩니다. C++ 표준에서는 long long이 최소 64비트 이상임을 보장하고 있습니다.

자료형 크기 확인 예제

각 자료형의 실제 크기는 간단한 프로그램으로 직접 확인할 수 있습니다. sizeof 연산자를 활용한 코드는 다음과 같습니다.

#include <iostream>
using namespace std;

main() {
    int a;
    long b;
    long long c;

    cout << "Size of int = " << sizeof(a) << " bytes\n";
    cout << "Size of long = " << sizeof(b) << " bytes\n";
    cout << "Size of long long = " << sizeof(c) << " bytes\n";
}

실행 결과

Size of int = 4 bytes
Size of long = 4 bytes
Size of long long = 8 bytes

위 실행 결과는 윈도우 플랫폼에서 테스트한 것이며, 시스템 환경에 따라 출력 값은 달라질 수 있습니다. 따라서 코드를 작성할 때는 특정 자료형의 크기를 미리 가정하기보다 sizeof를 통해 직접 확인하는 습관이 좋습니다.

long long은 언제 사용해야 할까?

일반적인 int 자료형은 약 ±21억(2³¹ − 1)까지만 표현할 수 있습니다. 팩토리얼 계산, 대량 데이터의 누적 합, 금융 관련 연산처럼 이 범위를 넘어서는 큰 숫자를 다뤄야 한다면 long long을 사용하는 것이 안전합니다. long long은 최소 64비트를 보장하므로 약 ±922경(약 9.2 × 10¹⁸)까지의 정수를 오차 없이 표현할 수 있습니다.