일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 함수
- VS ERROR
- 배열
- 이지스퍼블리싱
- Win32
- 리뷰
- tipssoft
- Kotlin
- 프로그래밍
- 알고리즘
- Desktop
- Javascript
- Direct2D
- Tips프로그래밍강좌
- Programming
- 연산자
- 포인터
- Visual Studio
- 지식나눔강좌
- doit코틀린프로그래밍
- 티스토리
- c
- Tips강좌
- Windows
- c++
- 김성엽
- c#
- 백준
- 문법
- CS
Archives
- Yesterday
- Today
- Total
목록EPSILON (1)
F.R.I.D.A.Y.
부동소수점은 ==으로 비교하지 마세요
말 그대로 부동 소수점, C/C++에서는 float나 double로 불리는 자료형은 == 연산자로 비교해서는 안됩니다. 그 이유를 알아봅시다. 3.14 == 3.14는 거짓일 수 있습니다. 3.14를 비교하는 코드를 보겠습니다. #include int main(void) { double fval = 3.14; printf("%.10lf %.10f \n", fval, (float)fval); return 0; } 같은 값이 나올까요? 아닙니다, 출력해보면 아래와 같이 오차를 포함하여 출력이 될겁니다. 오차 값은 때에 따라 달라질 수 있습니다. 어째서 이런 일이 벌어질까요? 컴퓨터는 소수를 표현하기 위해 대표적으로 두가지 방법을 사용합니다. 고정소수점 부동소수점 간단히 설명하면 고정소수점방식은 일정 비트는 ..
DEV/C C++
2019. 4. 5. 14:20