C++에서 int와 long의 차이점
C++에서 정수를 다룰 때 가장 많이 사용되는 자료형은 int와 long입니다. 두 자료형 모두 정수 값을 저장하지만, 크기와 표현할 수 있는 값의 범위에서 중요한 차이가 있습니다. 이 글에서는 두 자료형의 특징과 차이점을 예제 코드와 함께 자세히 살펴보겠습니다.
int란?
int 자료형은 정수 값을 저장하기 위해 사용되며, 부호 있는(signed) 형태와 부호 없는(unsigned) 형태로 모두 선언할 수 있습니다. 일반적으로 32비트(4바이트) 크기를 가지며, long에 비해 적은 메모리 공간으로 값을 저장할 수 있습니다. C++에서는 int 키워드를 사용하여 정수 변수를 선언합니다.
int 자료형의 기본 문법은 다음과 같습니다.
int variable_name;
여기서,
variable_name − 사용자가 지정한 변수의 이름입니다.
다음은 int 자료형을 활용한 예제입니다.
예제
#include <iostream>
using namespace std;
int main() {
int a = 8;
int b = 10;
int c = a + b;
cout << "c의 값 : " << c;
return 0;
}
출력 결과
c의 값 : 18
long이란?
long 자료형은 보다 넓은 범위의 정수 값을 저장하기 위해 사용되며, 역시 부호 있는(signed) 또는 부호 없는(unsigned) 형태로 선언할 수 있습니다. 일반적으로 64비트(8바이트) 크기를 가지며, int보다 많은 메모리 공간을 필요로 하지만 그만큼 훨씬 큰 값을 저장할 수 있습니다. long 키워드를 사용하여 long 정수 변수를 선언합니다.
참고로 long의 실제 크기는 운영체제와 컴파일러 환경에 따라 달라질 수 있습니다. 예를 들어 Windows에서는 32비트인 경우가 많고, Linux 계열에서는 64비트입니다. 따라서 플랫폼 독립적인 코드를 작성하려면 이 점을 고려해야 합니다.
long 자료형의 기본 문법은 다음과 같습니다.
long variable_name;
여기서,
variable_name − 사용자가 지정한 변수의 이름입니다.
다음은 long 자료형을 활용한 예제입니다.
예제
#include <iostream>
using namespace std;
int main() {
int a = 8;
long b = 28;
long c = long(a + b);
cout << "c의 값 : " << c;
return 0;
}
출력 결과
c의 값 : 36
int와 long의 주요 차이점 비교
| 구분 | int | long |
|---|---|---|
| 크기 | 32비트 (4바이트) | 일반적으로 64비트 (8바이트) |
| 메모리 사용량 | 적음 | 많음 |
| 저장 가능 값 범위 | 약 -21억 ~ +21억 | 약 -922경 ~ +922경 |
| 선언 키워드 | int | long |
정리
int는 메모리를 절약하면서 일상적인 정수 연산을 처리하기에 적합하고, long은 매우 큰 숫자를 다뤄야 할 때 유용합니다. 프로그램에서 다루어야 할 값의 크기를 미리 파악하고, 상황에 맞는 자료형을 선택하는 것이 효율적인 C++ 프로그래밍의 기본입니다.