새소식

언어/C언어

[c언어 강좌 2] 정수 자료형과 실수 자료형, 리터럴 접미사, 지수 표기법

  • -

오늘은 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형 숫자를 의미해요

(리터럴 접미사: 리터럴의 크기를 명확히 표시하기 위해 사용하는 접미사)


한번 어떻게 사용하는지 알아볼까요

1
2
3
4
5
6
7
8
9
10
11
12
13
 
//실수형 자료형 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


1
2
3
4
5
6
//지수 표기법 출력
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




Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.