금융 경제 보험 정보

C++ 기초공부 - 자료형(data type) 개념 본문

카테고리 없음

C++ 기초공부 - 자료형(data type) 개념

정보캣 2023. 11. 3. 09:24

int main()
{

	//int = 자료형(byte) - 정수형 : char(1), short(2), int(4), long(4), long long(8) // 실수형 : float(4) , double(8)
	// I = 변수명

	int i = 0;

	unsigned char c = 0;

	c = 0;
	c = 255;



	return 0;
}

위의 간단한 코드와 함께 자료형에 대해서 정리해 보자.
우리가 코드를 쓴다는 것은 컴파일러를 통해서 기계어로 번역이 될 고수준 언어를 쓴다는 의미이다.

그런데 컴퓨터는 언제나 0과1만 이해할 수 있다. 그래서 각 메모리에 담기는 숫자는 언제난 그냥 0과 1인데 이 0과1을 이진법을 통해서 다양한 인간의 언어로 표현할 수 있는 것이다.

int i = 0;

이라는 코드를 살펴보자
여기서 int 는 자료형 중의 하나이다.
자료형은 크게 정수형과 실수형으로 나뉜다.
그리고 정수형에는 다시 char(1), short(2), int(4), long(4), long long(8) 으로 나뉘고 실수형은 다시 실수형 : float(4) , double(8) 으로 나뉜다.

정수형의 가장 작은 단위가 되는 Char 은 1바이트의 공간만을 할당 받게 된다.
1byte 는 8 bit 으로 이뤄져있다. 그리고 int 는 4바이트의 공간을 메모리에 할당 받게 되는 것이다.

그래서 코드의 선언이 int i =0; 으로 선언이 되었다면 컴퓨터에 알려주는 것인데
메모리에 4바이트의 공간에 i라는 이름으로 공간이름을 정하고 여기에 정수로 된 값을 입력하겠다는 것이다.

그럼 unsigned char c = 0; 이 선언의 경우에는 unsigned 는 양수만을 취급하겠다는 것이고 char 이라는 정수의 자료형을 사용할 것인데 그 공간의 이름은 c로 하겠다는 것이다.

char 의 경우에는 1바이트 즉 8비트의 공간만을 할당 받는다. 각 1비트는 0 혹은 1 만이 대입될 수 있으므로 총 8비트의 경우에는 2의8승 즉 256가지의 경우의 수를 표현 할 수 있다.

숫자는 0부터 시작하게 되므로 8비트 즉 1바이트로 표현할 수 있는 총 숫자는 0~255까지만 가능하다.

그래서 만약에

c = 256; 를 대입하게 되면 표현 가능한 숫자를 넘어가기 때문에 0으로 표시가 된다.

이런 자료형을 구분해야 하는 것을 알아야 하는 것은 자료형에 따라서 메모리의 소비와 연산속도에 직접적인 영향을 주기 때문이다. 각 데이터 크기에 맞는 알맞은 자료형을 선택해야 메모리의 효율을 높일 수 있다.

예를 들어, 큰 배열을 사용하는 프로그램에서는 int 대신 char를 사용하면 메모리 사용량을 크게 줄일 수 있다. 반대로, 정밀도가 중요한 계산을 수행하는 프로그램에서는 float 대신 double을 사용하여 더 정확한 결과를 얻을 수 있다.

이런 부분이 메모리 할당을 프로그래머가 직접적으로 관리하는 C++의 중요 특징이자 꼭 이해해야 하는 개념이다

Comments