Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm isgreaterequal() trong C/C++

Hàm isgreaterequal() kiểm tra x >= y mà không gây floating-point exception (không raise FE_INVALID cho NaN). Trả về true (1) nếu đúng, false (0) nếu sai. Khai báo trong <math.h> (C) hoặc <cmath> (C++).

Cú pháp

bool isgreaterequal(float/double/long double x, float/double/long double y);

Ví dụ C++

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int a = 28, b = 8;
    bool r = isgreaterequal(a, b);
    cout << "a >= b: " << r << endl;  // 1
    
    a = 5; b = 8;
    r = isgreaterequal(a, b);
    cout << "a >= b: " << r << endl;  // 0
    return 0;
}

Kết quả

a >= b: 1
a >= b: 0

Giải thích: So sánh a >= b. Với số nguyên, tương đương a >= b. Thực sự hữu ích với float/double khi có NaN: NaN >= 5 là false (không raise exception), khác với (NaN >= 5) có thể raise FE_INVALID.

Hàm liên quan (C99/C++11)

HàmSo sánhAn toàn NaN
isgreaterx > yCó
isgreaterequalx >= yCó
islessx < yCó
islessequalx <= yCó
islessgreaterx < y || x > yCó
isunorderedx hoặc y là NaNCó
Lưu ý: Các hàm này là macro/function trong math.h. Cần #include <math.h> và link -lm. Với số nguyên, dùng toán tử so sánh thường cho đơn giản.