본문 바로가기
C++/기초

C++ 기초 : 자료형

글: 시플마 2024. 2. 1.

프로그래밍 언어에서 자료형은 데이터를 식별하는 분류입니다.

자료형은 기초적인 개념에서 크게 정수형과 실수형으로 나뉩니다.

정수형인 char, short, int, long, long long 이 있고 실수형인 float, double 이 있습니다.

 

int main(){
	int i = 0; //자료형이 int형인 변수 i를 선언하며 0으로 초기화
    
	return 0;
}

 

정수형

char는 1byte,

short는 2byte,

int는 4byte,

long은 4byte,

long long 8byte 이며

 

실수형

float은 4byte,

double은 8byte 입니다.

 

 

여기서 1byte인 char형을 그림으로 나타내면 어떨까요? 아래와 같습니다.

               

 

 

1byte는 8bit입니다.(bit는 디지털 정보의 최소 단위) 그래서 8개의 칸으로 나누어 볼 수 있습니다.

그렇다면 4byte인 int는 몇 칸으로 볼 수 있을까요? 4 * 8bit이므로 32bit입니다. 32칸으로 볼 수 있겠습니다.

 

 

이제 char형 변수에 수를 대입하겠습니다.

int main(){
	char c = 0; //자료형이 char형인 변수 c를 선언하며 0으로 초기화
	c = 1;	//c에 1을 대입
    
	return 0;
}

 

 

 

위와 같이 코드를 입력하였을 때 변수 c의 상태는 아래와 같이 나타낼 수 있습니다.

0 0 0 0 0 0 0 1

 

 

그렇다면 1byte(8bit)인 char형 변수 c가 나타낼 수 있는 수의 범위는 무엇일까요?

8칸 모두 0으로 채워진 경우와 8칸 모두 1로 채워진 경우이므로 0 ~ 1 1 1 1 1 1 1 1,

즉 0 ~ 255임을 알 수 있습니다.(음수 제외, 양수만 취급할 경우)

 

 

이번에는 변수 c가 수용할 수 있는 범위를 넘은 256을 대입해보겠습니다.

int main(){
	//char앞에 unsigned라는 키워드는 양의 정수만 취급한다는 의미.
	unsigned char c = 0;
	c = 256;
    
	return 0;
}

 

 

 

256이라는 수를 이진수로 표현하면 1 0 0 0 0 0 0 0 0이므로 9칸이 필요합니다.

그러나 char형인 변수 c는 8칸(bit)밖에 할당하지 못하므로 가장 앞부분인 1이 들어갈 수 없습니다.

1 0 0 0 0 0 0 0 0

 

 

 

그래서 c에는 256이 대입되지 못하고 0으로 표현됩니다.

0 0 0 0 0 0 0 0

 

 

 

강의 출처 : https://www.youtube.com/watch?v=PFc4g8mxOiI&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&pp=iAQB


 

'C++ > 기초' 카테고리의 다른 글

C++ 기초 : 논리 연산자  (0) 2024.02.09
C++ 기초 : 증감 연산자  (0) 2024.02.06
C++ 기초 : 산술 연산자  (0) 2024.02.06
C++ 기초 : 실수형 자료형  (0) 2024.02.06
C++ 기초 : 정수형 자료형  (0) 2024.02.02