C++ float, double 형의 이해
2014.06.14 08:13
참고 문서 |
---|
float : 부동 소수점형의 변수, 정밀도(유효 자리수)는 대략 6자리
4바이트(32-bit)의 크기를 할당 받는다
double : float 보다 자세히 표현할 수 있는 부동 소수점형의 변수
정밀도(유효 자리수)는 대략 15자리.
8바이트(64-bit)의 크기를 할당받는다.
#include <stdio.h> int main(void) { float f1; double d1; printf(“%d, %d, %d, %d\n”, sizeof(f1), sizeof(d1), sizeof(5.4)); /* 실수 형 상수는 8바이트 할당된다 */ return 0; }
부동 소수점 오차
- 실수 0.1을 float형 변수에 저장했을 때 다음과 같이 복잡한 2진수 bit 조합으로 표현된다.
0.1 → (0 01111011 10011001100110011001101)
- 근본적으로 2진수와 10진수의 수 체계가 다르기 때문에 부동 소수형은 10진수를 정확하게
표현하지 못한다.
- 위에서 2진수로 기록된 0.1을 소수점 이하 20자리까지 출력하면
0.10000000149011611900 라는 값이 출력되는데, 이것은 2의 음수 거듭승으로
10진수 0.1을 정확하게 표현하지 못하므로 가장 근접한 수를 유효자리 범위에서 표현하게
된다.
- C 언어에서 실수 형 값은 정확한 값이 아닌, 그 값의 가장 근사한 값으로 표현된다.
float와 double형은 무엇이 다른가?
- double은 float 보다 더 큰 범위의 값을 저장한다.
- double은 float 보다 정밀도(유효 자리수)의 값을 2배 이상 보장한다.
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
23 | 치환에서의 형 변환 | 2014.06.14 | 241 |
22 | 수식에서의 형 변환 | 2014.06.14 | 237 |
» | float, double 형의 이해 | 2014.06.14 | 1088 |
20 | short, int, long 형의 이해 | 2014.06.14 | 338 |
19 | 경제 1 | 2013.03.10 | 13953 |
18 | 디자인의 예술적 특성 | 2012.12.07 | 14512 |
17 | 디자인의 미적 근원 / 경험 | 2012.12.07 | 13939 |
16 | 디자인이란? | 2012.12.07 | 24192 |
15 | 미학의 역사 | 2012.12.07 | 16234 |
14 | 미의 개념 | 2012.12.07 | 4202 |
13 | 먼셀 표색계 (Munsell color system) | 2012.03.27 | 4648 |
12 | 현색계와 혼색계 | 2012.03.27 | 36587 |
11 | 색채표준 | 2012.03.27 | 4635 |
10 |
색의 혼합
![]() | 2012.03.27 | 5639 |
9 |
색의 3속성 / 색조
![]() | 2012.03.27 | 10151 |
8 |
색의 항상성 / 색의 연색성 / 망막 잔상
![]() | 2012.03.27 | 25314 |
7 |
색지각설
![]() | 2012.03.27 | 4922 |
6 |
카메라와 눈의 비교
![]() | 2012.03.26 | 6371 |
5 |
색채 지각
![]() | 2012.03.20 | 5377 |
4 | 색채 현상 (빛의 현상) | 2012.03.20 | 5339 |