관계 연산

부울 FALSE는 정수 0 값으로 표시되는 반면, 부울 TRUE는 0이 아닌 값으로 표시됩니다.

관계 연산 또는 논리 연산을 포함하는 식의 값은 FALSE(0) 또는 TRUE(1)입니다.

a가 b와 같으면 참입니다                      a == b;
a가 b와 같지 않으면 참입니다                  a != b;
a가 b보다 작으면 참입니다                     a < b;
a가 b보다 크면 참입니다                  a > b;
a가 b보다 작거나 같으면 참입니다         a <= b;
a가 b보다 크거나 같으면 참입니다      a >= b;

두 개의 실수의 동일성은 비교할 수 없습니다. 대부분의 경우, 15번째 소수점의 값이 다르기 때문에 동일한 것처럼 보이는 두 숫자가 동일하지 않을 수 있습니다. 두 실수를 올바르게 비교하려면 정규화된 차이를 0과 비교합니다.

예제:

bool CompareDoubles(double number1,double number2)
  {
   if(NormalizeDouble(number1-number2,8)==0) return(true);
   else return(false);
  }
void OnStart()
  {
   double first=0.3;
   double second=3.0;
   double third=second-2.7;
   if(first!=third)
     {
      if(CompareDoubles(first,third))
         printf("%.16f 과 %.16f 는 같습니다",first,third);
    }
  }
// Result: 0.3000000000000000  0.2999999999999998   은 같음

더 보기

우선 순위 규칙