3.6 일반적인 오류와 위험 요소
오류 6. 두 실수의 동일성 검사
- 실수연산의 경우 제한된 정밀도를 가지므로, 정확한 값과 비교했을 때 동일한 값이 나오지 않음
- 따라서, 정확한 값과 매우 유사한지 여부를 따짐
ex)
double x = 0.6 - 0.1;
if(x == 0.5){
cout << "x is 0.5" << endl;
}
else{
cout << "x is not 0.5" <; //실제로 출력되는 부분
}
// x == 0.5 를 abs(x - 0.5) == EPSILON 으로 바꿔주어야 함
위험요소 1. 부울 변수 대입의 간소화
- 조건문으로 부울변수에 대입할 경우 한줄로 작성하는 것이 좋음
ex)
if (number & 2 == 0){
even = true;
}
else{
even = true;
}
// 좋은 코드 : bool even = number % 2 == 0;
'프로그래밍 > C++ language' 카테고리의 다른 글
7, 8. 1차원 Array, C-문자열, 다차원 Array (0) | 2021.09.15 |
---|---|
6. 함수(function) (0) | 2021.09.15 |
4. 수학함수, 문자, 문자열 (0) | 2021.09.15 |
2. 기본 프로그래밍(basic programming) (0) | 2021.09.15 |
About C++ language bulletin board (0) | 2021.09.06 |