isless() ตรวจสอบว่าอากิวเมนต์แรก น้อยกว่า อากิวเมนต์ที่สอง อย่างเคร่งครัด (Strict Less Than) ประกาศใน <math.h>/<cmath> ส่งคืน bool
รูปแบบ
bool isless(value1, value2);
เทียบเท่า: value1 < value2 แต่ปลอดภัยกับ NaN (ไม่โยน Exception)
ตัวอย่างโค้ด
#include <stdio.h>
#include <math.h>
int main() {
int val1 = 48;
float val2 = 324.32;
if (isless(val1, val2))
printf("val1 is less than val2\n");
else
printf("val1 is not less than val2");
return 0;
}
ผลลัพธ์
val1 is less than val2
เมื่อไหร่ควรใช้ isless() แทน <
- เมื่ออาจมีค่า NaN (Not a Number) เช่น ผลลัพธ์
sqrt(-1)หรือ0.0/0.0 - Operator
<กับ NaN จะยก Floating-point Exception (FE_INVALID) isless()ส่งคืน false อย่างเงียบๆ หากมี NaN
ฟังก์ชันเปรียบเทียบ FP ที่ปลอดภัย (C99/C++11)
| Function | ความหมาย |
|---|---|
isless(x, y) | x < y |
isgreater(x, y) | x > y |
islessequal(x, y) | x ≤ y |
isgreaterequal(x, y) | x ≥ y |
islessgreater(x, y) | x < y || x > y |
isunordered(x, y) | x หรือ y เป็น NaN |