Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C/C++ islessequal() 함수 완벽 정리: 사용법과 예제

C/C++의 islessequal() 함수는 첫 번째 인수가 두 번째 인수보다 작거나 같은지를 판별하는 함수입니다. 이 함수는 math.h 헤더 파일에 선언되어 있으며, 조건이 만족되면 true(1)를, 그렇지 않으면 false(0)를 반환합니다.

islessequal() 함수 구문

bool islessequal(value1, value2);

각 매개변수의 의미는 다음과 같습니다.

value1 − value2와 비교하여 검사할 첫 번째 인수입니다.

value2 − value1이 작거나 같은지를 판단하는 기준이 되는 두 번째 인수입니다.

예제 1: 두 값이 같은 경우

다음은 islessequal() 함수의 기본적인 사용 예시입니다.

#include<iostream>
#include<math.h>
using namespace std;
int main() {
    int val1 = 8;
    int val2 = 8;
    bool result;
    result = islessequal(val1, val2);
    cout << "val1 islessequal than val2 : " << result << endl;
    return 0;
}

출력 결과

val1 islessequal than val2 : 1

위 예제에서는 두 개의 값을 비교하고 있습니다. islessequal() 함수는 내부적으로 value1 < value2 || value1 == value2 조건을 검사합니다. 즉, 두 조건 중 하나라도 참이면 1(true)을 반환하고, 둘 다 거짓이면 0(false)을 반환합니다.

첫 번째 예제에서 val1과 val2는 모두 8로 같기 때문에 '작거나 같다'는 조건이 충족되어 결과로 1이 출력된 것입니다.

예제 2: value1이 value2보다 큰 경우

이번에는 첫 번째 값이 두 번째 값보다 큰 경우를 살펴보겠습니다.

#include<iostream>
#include<math.h>
using namespace std;
int main() {
    int val1 = 28;
    int val2 = 8;
    bool result;
    result = islessequal(val1, val2);
    cout << "val1 islessequal than val2 : " << result << endl;
    return 0;
}

출력 결과

val1 islessequal than val2 : 0

위 예제에서 val1(28)은 val2(8)보다 크기 때문에 '작거나 같다'는 조건이 성립하지 않아 결과로 0이 반환되었습니다.

islessequal() 함수의 특징

islessequal()은 일반적인 비교 연산자(<=)와 달리 부동소수점 특수 상황에서도 안전하게 동작하도록 설계된 매크로입니다. 인수 중 하나가 NaN(Not a Number)인 경우에도 유효하지 않은 부동소수점 예외(invalid floating-point exception)를 발생시키지 않고 단순히 false를 반환합니다. 따라서 부동소수점 값을 안정적으로 비교해야 하는 수학 라이브러리나 과학 계산 코드에서 유용하게 활용됩니다.