C ++ nearbyint () - Βασική βιβλιοθήκη C ++

Η συνάρτηση nearbyint () στο C ++ στρογγυλοποιεί το όρισμα σε μια ολοκληρωμένη τιμή χρησιμοποιώντας την τρέχουσα λειτουργία στρογγυλοποίησης.

Η συνάρτηση nearbyint () στο C ++ στρογγυλοποιεί το όρισμα σε μια ολοκληρωμένη τιμή χρησιμοποιώντας την τρέχουσα λειτουργία στρογγυλοποίησης. Η τρέχουσα λειτουργία στρογγυλοποίησης καθορίζεται από τη συνάρτηση fesetround(). Η συνάρτηση Nearint () είναι παρόμοια με το rint (), εκτός του ότι δεν αυξάνει τις εξαιρέσεις FE_INEXACT ως rint ().

Μια εξαίρεση FE_INEXACT είναι μια εξαίρεση κινητού σημείου που εμφανίζεται όταν το αποτέλεσμα μιας λειτουργίας δεν αντιπροσωπεύεται ακριβώς λόγω στρογγυλοποίησης ή βαθμιαίας υποτροπής.

κοντινό πρωτότυπο () (Από το πρότυπο C ++ 11)

διπλό κοντινό (διπλό x) float Nearint (float x). μακρύ διπλό κοντινό (μακρύ διπλό x). διπλό κοντινό (T x) // Για ακέραιο τύπο

Η συνάρτηση Nearint () παίρνει ένα μόνο όρισμα και επιστρέφει μια τιμή τύπου double, float ή long double type. Αυτή η συνάρτηση ορίζεται στο αρχείο κεφαλίδας.

Nearintint () Παράμετροι

Η συνάρτηση nearbyint () παίρνει μια τιμή ορίσματος για στρογγυλοποίηση.

Nearint () Επιστροφή τιμή

Η συνάρτηση nearbyint () στρογγυλοποιεί το όρισμα x σε ακέραια τιμή, χρησιμοποιώντας την κατεύθυνση στρογγυλοποίησης που καθορίζεται από το fegetround () και επιστρέφει την τιμή. Από προεπιλογή, η κατεύθυνση στρογγυλοποίησης έχει οριστεί σε «στο πλησιέστερο». Η κατεύθυνση στρογγυλοποίησης μπορεί να οριστεί σε άλλες τιμές χρησιμοποιώντας τη λειτουργία fesetround ().

Παράδειγμα 1: Πώς λειτουργεί το Nearintint () στο 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; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Στρογγυλοποίηση στο πλησιέστερο (11.87) = 12 Στρογγυλοποίηση στο πλησιέστερο (11.5) = 12 Στρογγυλοποίηση προς τα κάτω (17.87) = 17 Στρογγυλοποίηση προς τα πάνω (33.3401) = 34

Παράδειγμα 2: Λειτουργία Nearintint () για ολοκληρωμένους τύπους

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Στρογγυλοποίηση προς τα κάτω (15) = 15 

Για ακέραιες τιμές, η εφαρμογή της nearbyintσυνάρτησης επιστρέφει την ίδια τιμή με την είσοδο. Επομένως, δεν χρησιμοποιείται συνήθως για ολοκληρωμένες τιμές στην πράξη.

ενδιαφέροντα άρθρα...