C ++ nearint () - C ++ Standard Library

Fungsi terdekatint () di C ++ membulatkan argumen ke nilai integral menggunakan mode pembulatan saat ini.

Fungsi terdekatint () di C ++ membulatkan argumen ke nilai integral menggunakan mode pembulatan saat ini. Mode pembulatan saat ini ditentukan oleh fungsinya fesetround(). Fungsi terdekatint () mirip dengan rint (), kecuali fungsi ini tidak memunculkan pengecualian FE_INEXACT sebagai rint ().

Pengecualian FE_INEXACT adalah pengecualian floating point yang terjadi saat hasil operasi tidak direpresentasikan dengan tepat karena pembulatan atau underflow bertahap.

terdekatint () prototipe (Sesuai standar C ++ 11)

double proximityint (double x); mengapung di dekatnya (mengapung x); nearint panjang ganda (panjang ganda x); ganda di dekatnya (T x); // Untuk tipe integral

Fungsi terdekatint () mengambil satu argumen dan mengembalikan nilai tipe double, float atau long double. Fungsi ini didefinisikan dalam file header.

Terdekatint () Parameter

Fungsi terdekatint () mengambil satu nilai argumen untuk dibulatkan.

nearint () Nilai kembali

Fungsi terdekatint () membulatkan argumen x menjadi nilai integral, menggunakan arah pembulatan yang ditentukan oleh fegetround () dan mengembalikan nilainya. Secara default, arah pembulatan diatur ke 'ke-terdekat'. Arah pembulatan dapat diatur ke nilai lain menggunakan fungsi fesetround ().

Contoh 1: Bagaimana dekatnyaint () bekerja di C ++?

 #include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87, result; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

Saat Anda menjalankan program, hasilnya adalah:

 Pembulatan ke terdekat (11,87) = 12 Pembulatan ke terdekat (11,5) = 12 Pembulatan ke bawah (17,87) = 17 Pembulatan ke atas (33,3401) = 34

Contoh 2: fungsi Nearint () untuk tipe integral

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

Saat Anda menjalankan program, hasilnya adalah:

 Membulatkan ke bawah (15) = 15 

Untuk nilai integral, menerapkan nearbyintfungsi akan mengembalikan nilai yang sama dengan masukan. Jadi tidak umum digunakan untuk nilai integral dalam prakteknya.

Artikel yang menarik...