C ++ fegetround () - Thư viện chuẩn C ++

Hàm fegetround () trong C ++ được sử dụng để lấy giá trị của macro làm tròn dấu phẩy động tương ứng với hướng làm tròn hiện tại.

Hàm fegetround () được định nghĩa trong tệp tiêu đề.

nguyên mẫu fegetround ()

 int fegetround ();

tham số fegetround ()

  • không ai

fegetround () Giá trị trả về

  • Khi thành công, hàm fegetround () trả về macro làm tròn dấu chấm động mô tả hướng làm tròn hiện tại.
  • Khi thất bại, nó trả về một giá trị âm.
Làm tròn các giá trị macro
Macro Sự miêu tả
FE_DOWNWARD Vòng xuống dưới
FE_TONEAREST Làm tròn đến giá trị gần nhất
FE_TOWARDZERO Làm tròn về 0
FE_UPWARD Vòng lên trên

Ví dụ: Hàm fegetround () hoạt động như thế nào?

 #include #include #include #pragma STDC FENV_ACCESS ON using namespace std; void print_current_rounding_direction() ( cout << "Current rounding method: "; switch (fegetround()) ( case FE_TONEAREST: cout << "FE_TONEAREST"; break; case FE_DOWNWARD: cout << "FE_DOWNWARD"; break; case FE_UPWARD: cout << "FE_UPWARD"; break; case FE_TOWARDZERO: cout << "FE_TOWARDZERO"; break; default: cout << "unknown"; ); cout << endl; ) int main(void) ( print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(18.7) << endl; fesetround(FE_UPWARD); print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(19.7) << endl; fesetround(FE_DOWNWARD); print_current_rounding_direction(); cout < " << rint(6.2) << endl; cout < " << rint(19.7) << endl; return 0; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Phương pháp làm tròn hiện tại: FE_TONEAREST 6.2 -> 6 18.7 -> 19 Phương thức làm tròn hiện tại: FE_UPWARD 6.2 -> 7 19.7 -> 20 Phương pháp làm tròn hiện tại: FE_DOWNWARD 6.2 -> 6 19.7 -> 19

thú vị bài viết...