Η συνάρτηση llrint () στο C ++ στρογγυλοποιεί το όρισμα σε μια ολοκληρωμένη τιμή χρησιμοποιώντας την τρέχουσα λειτουργία στρογγυλοποίησης.
Η συνάρτηση llrint () στο C ++ στρογγυλοποιεί το όρισμα σε μια ολοκληρωμένη τιμή χρησιμοποιώντας την τρέχουσα λειτουργία στρογγυλοποίησης.
Η τρέχουσα λειτουργία στρογγυλοποίησης καθορίζεται από τη συνάρτηση fesetround()
. Είναι παρόμοιο με το lrint (), αλλά επιστρέφει long long int αντί για long int.
πρωτότυπο llrint () (Από το πρότυπο C ++ 11)
πολύ μακρύ intlrint (διπλό x); πολύ μακρύ intlrint (float x); πολύ μακρύ intlrint (μακρύ διπλό x); πολύ μακρύ intlrint (T x); // Για ακέραιο τύπο
Η συνάρτηση llrint () παίρνει ένα μόνο όρισμα και επιστρέφει μια τιμή τύπου long long int. Αυτή η συνάρτηση ορίζεται στο αρχείο κεφαλίδας.
llrint () Παράμετροι
Η συνάρτηση llrint () παίρνει μια τιμή ορίσματος για στρογγυλοποίηση.
llrint () Τιμή επιστροφής
Η συνάρτηση llrint () στρογγυλοποιεί το όρισμα x σε μια ολοκληρωμένη τιμή, χρησιμοποιώντας την κατεύθυνση στρογγυλοποίησης που καθορίζεται από fegetround()
και επιστρέφει την τιμή σε long long int
.
Από προεπιλογή, η κατεύθυνση στρογγυλοποίησης έχει οριστεί σε 'to-nearest'
.
Η κατεύθυνση στρογγυλοποίησης μπορεί να ρυθμιστεί σε άλλες τιμές χρησιμοποιώντας τη fesetround()
συνάρτηση.
Παράδειγμα 1: Πώς λειτουργεί το llrint () στο 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; long long int result; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = llrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Στρογγυλοποίηση στο πλησιέστερο (11.87) = 12 Στρογγυλοποίηση στο πλησιέστερο (11.5) = 12 Στρογγυλοποίηση προς τα κάτω (11.8699) = 11 Στρογγυλοποίηση προς τα πάνω (33.3201) = 34
Παράδειγμα 2: Συνάρτηση llrint () για ακέραιους τύπους
#include #include #include using namespace std; int main() ( int x = 15; long long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Στρογγυλοποίηση προς τα κάτω (15) = 15
Για ακέραιες τιμές, η εφαρμογή της συνάρτησης llrint επιστρέφει την ίδια τιμή με την είσοδο. Επομένως, δεν χρησιμοποιείται συνήθως για ολοκληρωμένες τιμές στην πράξη.