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

Hàm isfinite() trong C++


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm isfinite() trong C++.

isfinite() là hàm built-in trong C++ thuộc header <cmath>. Hàm kiểm tra và trả về xem số cho trước có phải là hữu hạn (finite) hay không. Số hữu hạn là số thực không phải vô cực cũng không phải NaN.

Cú pháp

bool isfinite(float n);
bool isfinite(double n);
bool isfinite(long double n);

Hàm chỉ nhận 1 tham số n cần kiểm tra.

Giá trị trả về

Trả về boolean: 0 (false - không hữu hạn), 1 (true - hữu hạn).

Ví dụ 1

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

int main() {
    float a = 10.0, b = 0.1, c = 0.0;
    isfinite(a/b) ? cout << "\nKết quả a/b là hữu hạn" : cout << "\nKết quả a/b không hữu hạn";
    isfinite(a/c) ? cout << "\nKết quả a/c là hữu hạn" : cout << "\nKết quả a/c không hữu hạn";
    return 0;
}

Kết quả

Kết quả a/b là hữu hạn
Kết quả a/c không hữu hạn

Ví dụ 2

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

int main() {
    float c = 0.0, d = -1.0;
    isfinite(c) ? cout << "\nLà số hữu hạn" : cout << "\nKhông phải số hữu hạn";
    cout << isfinite(sqrt(d)); // sqrt(-1) = NaN
    return 0;
}

Kết quả

Là số hữu hạn
0

Lưu ý: căn bậc hai của -1.0 trả về NaN.