2015년 4월 17일 금요일

C/C++언어의 실수형 상수

  실수형은 0.001, 2.0, 3.14159와 같은 실수를 저장할 수 있으며 <표1.2.1>에서와 같이 float, double, long double형이 있다. 실수형은 내부적으로 그 데이터를 저장하는 방식이 정수형과 전혀 다르며 유효 자리수와 오차가 존재한다는 사실에 유의해야 한다.

  실수를 표현할 때는 0.1, -2,3 과 같은 보통의 10진 표기법 외에 지수적 표기법이라는 것이 있는데 예를 들면1.234567e5 와 같은 것이다. 이것은 과학적 표기인



를 표현한 것이다. 또 다른 예로 1.234567e-3 은



이다. 실수 상수는 소수점을 반드시 포함해야 하며 지수부는 생략할 수 있다. 예를 들면 다음과 같다.

-----------------------------------------------------------
123.5
123.0 또는 123.
0.123 또는 .123
123e2 는 실수 상수가 아니다. (소수점이 없음)
123.e2는 실수 상수임.
-----------------------------------------------------------

실수형 변수를 선언하고 초기화하는 코드는 다음과 같다.

-----------------------------------------------------------
float fa = 3.14159;
double da = 314.159e-2, db = 123e-3;
long double lda = 10.0;
float fb = .001;
float fc = 123.;
----------------------------------------------------------

  실수 상수는 내부적으로 double형으로 취급되므로 저장하는데 8 byte가 소요된다. 만약 실수 상수를 float 형으로 명시적으로 지정하려면 숫자 뒤에 f/F 접미어를 붙이면 된다.

-----------------------------------------------------------
float fb = 2.34f;
float fa = 1.23e-4f;
----------------------------------------------------------

  실수형은 float형, double형, long double형이 있는데 float형보다 double형의 표현 범위뿐만 아니라 정밀도도 더 높다. (정수형은 예를 들어 short형 보다 long형이 표현 범위만 넓어지는 것과 대조적이다)
[#00010]

댓글 없음:

댓글 쓰기