Funkcija lrint () u C ++ zaokružuje argument na integralnu vrijednost pomoću trenutnog načina zaokruživanja.
Funkcija lrint () u C ++ zaokružuje argument na integralnu vrijednost pomoću trenutnog načina zaokruživanja. Trenutni način zaokruživanja određuje funkcija fesetround()
. Slično je rint (), ali vraća se long int
.
prototip lrint () (od standarda C ++ 11)
duga intrint (dvostruki x); long int lrint (float x); long int lrint (dugi dvostruki x); dugo intrint (T x); // Za integralni tip
Funkcija lrint () uzima jedan argument i vraća vrijednost tipa long int
. Ova je funkcija definirana u zaglavnoj datoteci.
lrint () Parametri
Funkcija lrint () uzima jednu vrijednost argumenta da zaokruži.
lrint () Povratna vrijednost
Funkcija lrint () zaokružuje argument x na integralnu vrijednost, koristeći smjer zaokruživanja naveden u fegetround () i vraća vrijednost u long int
.
Prema zadanim postavkama smjer zaokruživanja postavljen je na 'najbliže'. Smjer zaokruživanja može se postaviti na druge vrijednosti pomoću funkcije fesetround ().
Primjer 1: Kako lrint () radi u 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 int result; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )
Kada pokrenete program, izlaz će biti:
Zaokruživanje na najbliže (11,87) = 12 Zaokruživanje na najbliže (11,5) = 12 Zaokruživanje prema dolje (11,8699) = 11 Zaokruživanje naviše (33,3201) = 34
Primjer 2: lrint () funkcija za integralne tipove
#include #include #include using namespace std; int main() ( int x = 15; long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; )
Kada pokrenete program, izlaz će biti:
Zaokruživanje prema dolje (15) = 15
Za integralne vrijednosti, primjena funkcije lrint vraća istu vrijednost kao i ulaz. Stoga se u praksi često ne koristi za integralne vrijednosti.