-
[C++ 프로그래밍] 정수형 데이터와 Modifiers2024년 06월 21일
- 유니얼
-
작성자
-
2024.06.21.:15
728x90C++ 기초 프로그래밍: 정수형 데이터와 Modifiers
C++ 프로그래밍에서 정수형 데이터 타입은 매우 중요한 역할을 합니다. 다양한 크기와 특성을 가진 정수형 타입을 사용하여 프로그램의 메모리 사용을 최적화하고, 특정 요구사항에 맞는 정확한 데이터 처리를 할 수 있습니다. 이번 블로그 글에서는 C++에서 정수형 데이터 타입과 이들을 수정하는 데 사용되는 Integer Modifiers에 대해 알아보겠습니다.
정수형 데이터 타입
C++에서 정수형 데이터 타입은 기본적으로 int 타입을 포함하여, 크기와 부호(sign)에 따라 다양한 타입을 제공합니다. 각 타입은 특정한 크기와 범위를 가지며, 이를 통해 다양한 데이터 처리 요구를 충족시킬 수 있습니다.
기본 정수형 타입
- int: 기본 정수형 타입으로, 대부분의 컴파일러에서 4바이트를 차지합니다.
- short: 짧은 정수형 타입으로, 일반적으로 2바이트를 차지합니다.
- long: 긴 정수형 타입으로, 4바이트 또는 8바이트를 차지할 수 있습니다.
- long long: 더 긴 정수형 타입으로, 일반적으로 8바이트를 차지합니다.
부호가 있는 정수형 타입과 부호가 없는 정수형 타입
정수형 타입은 부호가 있는(signed) 타입과 부호가 없는(unsigned) 타입으로 나뉩니다.
- signed: 기본 정수형 타입으로, 양수와 음수를 모두 표현할 수 있습니다.
- unsigned: 부호가 없는 정수형 타입으로, 양수만을 표현할 수 있습니다. 이는 양수의 범위를 두 배로 확장할 수 있습니다.
예제 코드
다음은 다양한 정수형 데이터 타입과 그 크기를 출력하는 C++ 예제 코드입니다.
#include <iostream> int main() { signed int value1{10}; signed int value2{-300}; std::cout << std::endl; std::cout << "value1 : " << value1 << std::endl; std::cout << "value2 : " << value2 << std::endl; std::cout << "sizeof(value1) : " << sizeof(value1) << std::endl; std::cout << "sizeof(value2) : " << sizeof(value2) << std::endl; unsigned int value3{4}; // unsigned int value4{-5}; // Compiler error. // short and long short short_var{-32768}; // 2 Bytes short int short_int{455}; // signed short signed_short{122}; // signed short int signed_short_int{-456}; // unsigned short int unsigned_short_int{456}; int int_var{55}; // 4 bytes signed signed_var{66}; // signed int signed_int{77}; // unsigned int unsigned_int{77}; long long_var{88}; // 4 OR 8 Bytes long int long_int{33}; signed long signed_long{44}; signed long int signed_long_int{44}; unsigned long int unsigned_long_int{44}; long long long_long{888}; // 8 Bytes long long int long_long_int{999}; signed long long signed_long_long{444}; signed long long int signed_long_long_int{1234}; unsigned long long int unsigned_long_long_int{1234}; std::cout << std::endl; std::cout << "---------------------" << std::endl; std::cout << std::endl; std::cout << "Short variable : " << short_var << " , size : " << sizeof(short) << " bytes" << std::endl; std::cout << "Short Int : " << short_int << " , size : " << sizeof(short int) << " bytes" << std::endl; std::cout << "Signed short : " << signed_short << " , size : " << sizeof(signed short) << " bytes" << std::endl; std::cout << "Signed short int : " << signed_short_int << " , size : " << sizeof(signed short int) << " bytes" << std::endl; std::cout << "unsigned short int : " << unsigned_short_int << " , size : " << sizeof(unsigned short int) << " bytes" << std::endl; std::cout << std::endl; std::cout << "---------------------" << std::endl; std::cout << std::endl; std::cout << "Int variable : " << int_var << " , size : " << sizeof(int) << " bytes" << std::endl; std::cout << "Signed variable " << signed_var << " , size : " << sizeof(signed) << " bytes" << std::endl; std::cout << "Signed int : " << signed_int << " , size : " << sizeof(signed int) << " bytes" << std::endl; std::cout << "unsigned int : " << unsigned_int << " , size : " << sizeof(unsigned int) << " bytes" << std::endl; std::cout << std::endl; std::cout << "---------------------" << std::endl; std::cout << std::endl; std::cout << "Long variable : " << long_var << " , size : " << sizeof(long) << " bytes" << std::endl; std::cout << "Long int : " << long_int << " , size : " << sizeof(long int) << " bytes" << std::endl; std::cout << "Signed long : " << signed_long << " , size : " << sizeof(signed long) << " bytes" << std::endl; std::cout << "Signed long int : " << signed_long_int << " , size : " << sizeof(signed long int) << " bytes" << std::endl; std::cout << "unsigned long int : " << unsigned_long_int << " , size : " << sizeof(unsigned long int) << " bytes" << std::endl; std::cout << std::endl; std::cout << "---------------------" << std::endl; std::cout << std::endl; std::cout << "Long long : " << long_long << " , size : " << sizeof(long long) << " bytes" << std::endl; std::cout << "Long long int : " << long_long_int << " , size : " << sizeof(long long int) << " bytes" << std::endl; std::cout << "Signed long long : " << signed_long_long << " , size : " << sizeof(signed long long) << " bytes" << std::endl; std::cout << "Signed long long int : " << signed_long_long_int << " , size : " << sizeof(signed long long int) << " bytes" << std::endl; std::cout << "unsigned long long int : " << unsigned_long_long_int << " , size : " << sizeof(unsigned long long int) << " bytes" << std::endl; std::cout << std::endl; std::cout << "---------------------" << std::endl; return 0; // value1 : 10 // value2 : -300 // sizeof(value1) : 4 // sizeof(value2) : 4 // --------------------- // Short variable : -32768 , size : 2 bytes // Short Int : 455 , size : 2 bytes // Signed short : 122 , size : 2 bytes // Signed short int : -456 , size : 2 bytes // unsigned short int : 456 , size : 2 bytes // --------------------- // Int variable : 55 , size : 4 bytes // Signed variable 66 , size : 4 bytes // Signed int : 77 , size : 4 bytes // unsigned int : 77 , size : 4 bytes // --------------------- // Long variable : 88 , size : 8 bytes // Long int : 33 , size : 8 bytes // Signed long : 44 , size : 8 bytes // Signed long int : 44 , size : 8 bytes // unsigned long int : 44 , size : 8 bytes // --------------------- // Long long : 888 , size : 8 bytes // Long long int : 999 , size : 8 bytes // Signed long long : 444 , size : 8 bytes // Signed long long int : 1234 , size : 8 bytes // unsigned long long int : 1234 , size : 8 bytes // --------------------- }
결론
C++에서 정수형 데이터를 초기화하는 방법과 다양한 정수형 데이터 타입의 크기를 이해하는 것은 매우 중요합니다. 적절한 데이터 타입을 선택함으로써 메모리 사용을 최적화하고, 데이터 처리의 정확성을 높일 수 있습니다.
반응형다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)