본문 바로가기
프로그래밍/C 언어(정리)

C언어] 자료형 (DataType) - 실수(Real number) (3/7)

by 곰나나 2018. 12. 21.

[자료형 (DataType) - 실수(Real number)]

 

1. 실수형

 실수(Real Number)란?

소수점 이하를 가지는 수이며 정수보다는 한 단계 더 확장된 범위를 포괄한다.

사전적 뜻으로 유리수와 무리수 전체의 총칭하여 확장한 수

C언어 에서는 크기별로 3가지 가 있다.

타입

바이트 수 

범위

유효 자리수 

Float

4 Byte

1.2E – 39 ~ 3.4E38

소수점 6자리 이하

Double

8 Byte

2.2E – 308 ~ 1.8E308

소수점 15자리 이하

Long Double

10~16

2.2E – 308 ~ 1.8E308 또는 이상

소수점 19 이상


 실수는 부동 소수점이라는 특이한 방법으로 저장한다. 부동(浮動)소수점이란 실수를 정수부와 소수부로 나누는 것이 아니라 지수부와 가수부로 나누어 기억하는 방식이다.

 이런 실수 표현법은 C언어의 고유한 방식이 아니라 IEEE에서 제정한 국제 표준이며이 표준은 모든 언어가 공통적으로 따르고 있다.


2. 실수형 상수

 소수부를 가지면 실수형 상수로 인식된다.

소수점을 기준으로 왼쪽에 정수부 오른쪽에 소수부를 적는 방법을 고정 소수점 표기법이라 한다. 실수형 상수 표기에 부동 소수점표기법을 사용할 수도 있다.



 실수는 정수에 비해 소수점 이하를 표현할 수 있고 천문학적인 큰 수를 다룰 수 있는 장점이 있지만 구조가 복잡하기 때문에 굉장히 느리다.

요즘 CPU는 부동 소수점을 보조 프로세서가 직접 처리하므로 훨씬 더 빨라졌지만 그렇지 못한 시스템에서는 정수에 비해 대략 10배 정도 느리다. 그래서 꼭 필요한 경우가 아니면 잘 사용되지 않으며 불가피한 경우라도 정수형으로 바꾸어서 다루는 경우가 많다.

728x90