C language - 1. primitive data type(기본 자료형)

1. 변수란?

 프로그래밍 언어에서 값을 저장하거나 저장된 값을 읽거나 다른 값을 넣을 수 있는 공간을 할당받는 것을 변수라고 합니다. 이러한 변수들의 크기를 크게 잡으면 광활한 범위의 값을 저장할 수 있겠지만 작은 값을 필요로 하는 변수에 비해 훨씬 큰 공간을 할당해주게 되면 메모리의 낭비가 발생하게 됩니다. 그렇기 때문에 프로그램을 짤 때 선언한 변수들의 예상범위내의 변수의 크기를 적절하게 조절하여 메모리를 효율적으로 사용할 수 있게 만들어야 되겠습니다.







2. 기본 자료형

 기본 자료형은 정수형 변수와 실수형 변수로 나뉩니다.

정수형 변수에는 기본적으로 char, short, int, long이 제공됩니다. 하나의 char변수에는 1byte(=8bits)의 크기가 할당되고 가장 왼쪽 비트가 0일때 양수(+) 1일때 음수(-)로 표현이 되고 나머지 7bits의 범위로 숫자가 표현이되는데 위 표에서 양수가 표현범위가 1작은것은 0을 양수에 포함하기 때문입니다.

정수형 변수에는 char, short, int, long이 있다고 설명했는데 위에 표에는 앞에 unsigned가 붙은 변수들이 있습니다. 사실 unsigned가 붙지 않은 변수들은 signed가 생략되었다고 생각하시면 됩니다. 앞에 unsigned가 붙게 되면 바로 전에 설명한 가장 왼쪽 비트가 양수와 음수를 표현하지 않고 나머지 비트와 함께 숫자를 표현하게 됩니다. 그리하여 signed의 변수들보다 표현범위가 약 2배 증가하게 됩니다.


그렇다면 int와 unsigned int의 범위는 어떻게 될까요?

1word의 크기를 일반적으로 많이 쓰이는 4bytes라고 가정할 때 int는 -2147483648 ~ 2147483647이고, unsigned int는 0 ~ 4294967296의 범위를 가지게 됩니다.


실수형 변수에는 signed인 정수형과 마찬가지로 가장왼쪽 1bit는 양수와 음수를 표현하고 나머지를 지수부분과 가수부분으로 나눕니다. 실수형 변수에 실수를 입력하게 되면 컴퓨터가 x.xx×10^n 으로 나타내주고 이때 n은 지수부분에 x.xx는 가수부에 들어가서 저장되어집니다.