Trong phần này chúng ta sẽ thấy fmax() và fmin() trong C++. Hai hàm này nằm trong header cmath.
Chúng nhận hai giá trị kiểu float, double hoặc long double và trả về giá trị lớn nhất hoặc nhỏ nhất tương ứng.
Nếu kiểu đối số khác nhau (ví dụ so sánh float với double), hàm sẽ ép kiểu ngầm rồi trả về giá trị tương ứng.
Ví dụ
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
double res;
// dùng fmax()
res = fmax(50.0, 10.0); // cả hai dương
cout << fixed << setprecision(4) << "fmax(50.0, 10.0) = " << res << endl;
res = fmax(-50.0, 10.0); // dấu trái nhau
cout << fixed << setprecision(4) << "fmax(-50.0, 10.0) = " << res << endl;
res = fmax(-50.0, -10.0); // cả hai âm
cout << fixed << setprecision(4) << "fmax(-50.0, -10.0) = " << res << endl;
// dùng fmin()
res = fmin(50.0, 10.0);
cout << fixed << setprecision(4) << "fmin(50.0, 10.0) = " << res << endl;
res = fmin(-50.0, 10.0);
cout << fixed << setprecision(4) << "fmin(-50.0, 10.0) = " << res << endl;
res = fmin(-50.0, -10.0);
cout << fixed << setprecision(4) << "fmin(-50.0, -10.0) = " << res << endl;
}
Kết quả
fmax(50.0, 10.0) = 50.0000 fmax(-50.0, 10.0) = 10.0000 fmax(-50.0, -10.0) = -10.0000 fmin(50.0, 10.0) = 10.0000 fmin(-50.0, 10.0) = -50.0000 fmin(-50.0, -10.0) = -50.0000