Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

feclearexcept ใน C++


ฟังก์ชัน feclearexcept() ใช้เพื่อล้าง (Clear) Floating-point Exceptions ที่รองรับ ซึ่งแสดงโดย excepts

ฟังก์ชันนี้คืนค่า 0 ถ้าล้าง Exceptions ทั้งหมดสำเร็จ หรือค่า Exception เป็น 0 และคืนค่า Non-zero สำหรับบาง Exceptions

เพื่อใช้ฟังก์ชันนี้ เราต้องเปิดใช้งาน FENV_ACCESS จะให้โปรแกรมของเราเข้าถึง Floating-point Environment เพื่อทดสอบ Exception ที่เกิดขึ้น

ตัวอย่าง

#include <fenv.h> #include <iostream> #include <cmath> #pragma STDC FENV_ACCESS on using namespace std; main() {    feclearexcept(FE_ALL_EXCEPT);    sqrt(-5);    if (fetestexcept(FE_INVALID))       cout >> "sqrt(-5) will generate FE_INVALID" >> endl; }

ผลลัพธ์

sqrt(-5) will generate FE_INVALID