관계 연산자에 대해 이해해 보자.
#include <iostream>
int main()
{
using namespace std;
int x(0), y(0);
cin >> x >> y;
cout << x << " " << y << endl;
if (x == y)
cout << "equal" << endl;
if (x != y)
cout << "Not equal" << endl;
if (x > y)
cout << "x is greater than y" << endl;
if (x < y)
cout << "x is less than y" << endl;
if (x >= y)
cout << "x is greater than y or equal to y" << endl;
if (x <= y)
cout << "x is less than y or equal to y" << endl;
return 0;
}
이렇게 짜면 안되는 거지만, 여러개를 다 출력해보고 싶어서 이런 식으로 구성했다. 사용자들이 특정 정수를 넣게 되면 해당되는 조건에 출력이 되는 것을 볼 수 있다. 한번 실험해보도록 한다.
특별히 어려운 건 없어서 설명할 건 없는듯...;;
다만, 이런 경우를 조심해야함.
#include <iostream>
int main()
{
using namespace std;
double d1(100 - 99.99); // 0.001
double d2(10 - 9.99); // 0.001
const double epsilon = 1e-10;
cout << d1 << endl;
cout << d2 << endl;
if (d1 == d2)
cout << "equal" << endl;
else
{
cout << "Not equal" << endl;
if (d1 > d2)
cout << "d1 > d2" << endl;
else
cout << "d1 < d2" << endl;
}
return 0;
}
double 형 같은 경우에는 보기에는 같아보여도 실제 출력하면 다른 값을 갖는다.
실제로 출력하면 다음과 같다. 보기엔 같은 수지만 디버그를 하여 변수에 들어있는 값을 확인하면 다르다는 것이다. 이는 부동소수점을 설명했을때 조심하라고 했던 예인데, 항상 실수형을 사용할 땐 조심해야 한다.