MATH & ML

c언어 자료형 (Data Type) 본문

C programming

c언어 자료형 (Data Type)

BlogYong 2018. 2. 7. 16:31

자료형은 크게 정수형/부호없는 정수형/실수형 3종류로 나뉜다.

정수형은 char, short, int, long long int 등이 있다.

부호없는 정수형으로는 그 앞에 unsigned를 붙인 형태들이 가능하다.

실수형에는 double, float 등이 있다.

각각에 따라 메모리를 얼마나 어떻게 쓰는지 알아두는것은 나중에 큰 데이터에 대하여 효율적으로 데이터를 사용하기위해 꼭 필요하다.

(반면 파이썬은 자료형을 굳이 구체적으로 지정해주지 않아도 자동으로 잘 만들어지기 때문에 이런 방식보다는 어떻게 잘 쓸 지 파악하는것이 중요하다)


1. 정수형

char=1byte, short=2byte, int(long)=4byte, long long=8byte 이다.

(1byte=8bit, bit는 2진수로 나타냈을때 각 자리수 하나하나를 의미)

예를 들어 char형의 5의 경우 00000101로 나타난다. 또한 -5의 경우 '2의보수법'이라는 방법으로 표현하는데

5를 2진수로 나타낸 00000101을 0을1로 1은0으로 반전시킨다음에 1을 더한 1111010+1=11111011 로 나타낼 수 있다.

신기하게도 보수법을 이용하면 맨 왼쪽비트의 숫자가 0이면 양수, 1이면 음수 로 생각할 수 있고, 이 왼쪽 비트는 부호를 나타내는 비트로 쓰인다고 볼 수 있다.

이렇게 보수화를 하여 표현하면 양수는 1~127까지 표현 가능하고, 0도 표현가능하며, 음수는

-1=11111111

-2=11111110

-3=11111101

...

-128=10000000

까지 -1~-128을 표현 가능하다.

즉 char형은 -128~127을 표현 가능하다.

int형은 16bit이므로 16자리 중 한자리는 부호비트로 나머지 15자리는 숫자를 나타내어 결국 -2147483648~2147483647까지 나타낼 수 있다.(2^31=2147483648) 대략 -21억~+21억 정도까지 대충 -10^9~10^9 정도까지 표현가능한것이다.


2. 부호없는 정수형

모든 정수형 앞에 unsigned를 붙이면 되는데 여기서는 음수를 나타낼 필요가 없으므로 맨 왼쪽비트도 숫자를 나타내는데에 쓰인다.

따라서 unsigned char형의 경우에는 0~255까지의 숫자 표현이 가능하다. 보수작업이 필요가 없는 것이다.


3. 실수형

실수형에서는 부동소수점방식을 이용한다.(생략)




이 후의 자세한 내용은

https://blog.naver.com/justkukaro/220650437109

블로거님이 아주아주 자세히 쉽게 써주셔서 참고하면 좋을 것 같다.

'C programming' 카테고리의 다른 글

break문과 continue문  (0) 2018.02.19
#include <stdio.h> 헤더파일이란  (0) 2018.02.19
int main()과 void main()의 차이  (0) 2018.02.19
Comments