C ++ nearbyint () - Perpustakaan Standard C ++

Fungsi Nearint () dalam C ++ membundarkan argumen ke nilai integral menggunakan mod pembundaran semasa.

Fungsi Nearint () dalam C ++ membundarkan argumen ke nilai integral menggunakan mod pembundaran semasa. Mod pembulatan semasa ditentukan oleh fungsi fesetround(). Fungsi Nearint () serupa dengan rint (), kecuali bahawa ia tidak menaikkan pengecualian FE_INEXACT sebagai rint ().

Pengecualian FE_INEXACT adalah pengecualian titik terapung yang berlaku apabila hasil operasi tidak ditunjukkan tepat kerana pembulatan atau aliran masuk beransur-ansur.

prototaip terdekat () (Seperti standard C ++ 11)

dua kali ganda berdekatan (double x); apungan berdekatan (float x); panjang berkembar berdekatan (panjang ganda x); dua kali ganda berdekatan (T x); // Untuk jenis kamiran

Fungsi Nearint () mengambil satu argumen dan mengembalikan nilai jenis double, float atau long double type. Fungsi ini ditentukan dalam fail header.

Parameter berdekatan ()

Fungsi Nearint () mengambil satu nilai argumen untuk dibundarkan.

Nearint () Nilai pulangan

Fungsi Nearint () membundarkan argumen x ke nilai integral, menggunakan arah pembundaran yang ditentukan oleh fegetround () dan mengembalikan nilainya. Secara lalai, arah pembundaran ditetapkan ke 'paling hampir'. Arah pembundaran dapat diatur ke nilai lain menggunakan fungsi fesetround ().

Contoh 1: Bagaimana Nearint () berfungsi 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; )

Semasa anda menjalankan program, outputnya adalah:

 Membundarkan ke terdekat (11.87) = 12 Membundarkan ke terdekat (11.5) = 12 Membundarkan ke bawah (17.87) = 17 Membundarkan ke atas (33.3401) = 34

Contoh 2: fungsi Nearint () untuk jenis kamiran

 #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; ) 

Semasa anda menjalankan program, outputnya adalah:

 Membundarkan ke bawah (15) = 15 

Untuk nilai integral, menerapkan nearbyintfungsi mengembalikan nilai yang sama dengan input. Oleh itu, ia tidak biasa digunakan untuk nilai integral dalam praktiknya.

Artikel menarik...