ในส่วนนี้จะดู fmax() และ fmin() ใน C++ ฟังก์ชันทั้งสองอยู่ใน header file cmath
ฟังก์ชันนี้รับค่าสองค่าประเภท float, double หรือ long double และคืนค่าสูงสุดหรือต่ำสุดโดยใช้ fmax() และ fmin() ตามลำดับ
ถ้าประเภทอาร์กิวเมนต์ต่างกัน เช่นเปรียบเทียบ float กับ double จะมีการ typecast โดยอัตโนมัติ แล้วคืนค่าที่สอดคล้อง
ตัวอย่าง
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
double res;
// การใช้ fmax()
res = fmax(50.0, 10.0); // เปรียบเทียบค่าบวกทั้งคู่
cout << fixed << setprecision(4) << "fmax(50.0, 10.0) = " << res << endl;
res = fmax(-50.0, 10.0); // เปรียบเทียบเครื่องหมายตรงข้าม
cout << fixed << setprecision(4) << "fmax(-50.0, 10.0) = " << res << endl;
res = fmax(-50.0, -10.0); // เปรียบเทียบค่าลบทั้งคู่
cout << fixed << setprecision(4) << "fmax(-50.0, -10.0) = " << res << endl;
// การใช้ 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;
}
ผลลัพธ์
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