오늘은 c언어의 내용중
자료형(data type)에 대해서 알아보아요
크게 알아야할게 정수 자료형과 실수 자료형 두개로 나뉘어요
우선 정수 자료형에 대해서 고고
정수 자료형
char |
1 바이트(8비트) 부호있는 정수
|
-2^8 ~ 2^8 -1 |
short |
2 바이트(16비트) 부호있는 정수 |
-2^16 ~ 2^16 -1 |
int |
4 바이트(32비트) 부호있는 정수 |
-2^32 ~ 2^32 -1 |
long long |
8 바이트(64비트) 부호있는 정수 |
-2^64 ~ 2^64 -1 |
거의 대부분 int형을 쓰지만 데이터의 크기에 맞게 쓰기 위해서 short나 char를 쓰기도해요
그리고 알고리즘 문제를 풀다보면 큰 값에 대해서도 동작하기 위해서 long long 형을 쓰기도 한답니다
그 이유는 자료형 마다 위의 표처럼 표현 가능한 수의 크기가 다르기 때문이에요
기본적으로 자료형의 앞에 signed가 생략되어있어요
부호 없는 자료형을 사용하기 위해서는 unsigned를 붙여서 사용하면 되요
실수 자료형
float |
4바이트, 단정밀도 32비트 |
7자리의 유효값 저장기능 |
double |
8바이트, 배정밀도 64비트 |
16잘자리의 유효값 저장가능 |
c언어에서 실수를 처리하는 방식은 부동소수점 방식이에요
보통 float형과 double형을 많이 사용해서 두가지만 정리해보았어요
float형은 7자리까지 double형은 보다 더 정확한 값을 저장할 수 있어요
그리고 float형은 숫자 끝에 리터럴 접미사인 'f'를 붙여서
단정밀도 숫자임을 나타내고, f가 생략되면 double형 숫자를 의미해요
(리터럴 접미사: 리터럴의 크기를 명확히 표시하기 위해 사용하는 접미사)
한번 어떻게 사용하는지 알아볼까요
| //실수형 자료형 float 유효값 float num1 = 1.123456f; float num2 = 1.1234567f; float num3 = 1.1234562f; //float형 변수 출력을 위해 서식문자 %f 사용 printf("%f\n", num1); //1.123456 출력 printf("%f\n", num2); //1.123457 출력(반올림) printf("%f\n", num3); //1.123456 출력(반올림) double num1 = 1.123456789012345 printf("%f\n", num1); //그대로 출력 | cs |
참고로 long double형은 %LF를 사용하요
지수 표기법(Exponential Notation)
아주 큰수나 작은수를 표현하기 위해서 지수 표기법(Exponential Notation)을 사용해요
e+ |
실수 * 10의 거듭제곱 |
1.3e+3 = 1.3* 10^3 = 1300 |
e- |
실수 * (1/10 거듭제곱) |
1.3e-2 = 1.3* (1/10^2) = 0.013 |
| //지수 표기법 출력 float num1 = 2.e+4f; //+는 생략가능, .생략 가능 double num2 = -2.532e-2; printf("%f\n", num1); //200000 printf("%f\n", num2); //-0.02523 printf("%e\n", num1); //지수표현은 %e 사용 | cs |