Funkcia llrint () v C ++ zaokrúhľuje argument na integrálnu hodnotu pomocou aktuálneho režimu zaokrúhľovania.
Funkcia llrint () v C ++ zaokrúhľuje argument na integrálnu hodnotu pomocou aktuálneho režimu zaokrúhľovania.
Aktuálny režim zaokrúhľovania je určený funkciou fesetround()
. Je to podobné ako s lrint (), ale vráti long long int namiesto long int.
llrint () prototyp (od štandardu C ++ 11)
long long int llrint (double x); long long int llrint (float x); long long int llrint (long double x); long long int llrint (T x); // Pre integrálny typ
Funkcia llrint () vezme jediný argument a vráti hodnotu typu long long int. Táto funkcia je definovaná v hlavičkovom súbore.
llrint () parametre
Funkcia llrint () zaokrúhli hodnotu jedného argumentu.
llrint () Vrátená hodnota
Funkcia llrint () zaokrúhli argument x na integrálnu hodnotu pomocou smeru zaokrúhlenia určeného hodnotou fegetround()
a vráti hodnotu in long long int
.
Predvolene je smer zaokrúhľovania nastavený na 'to-nearest'
.
Smer zaokrúhľovania je možné pomocou fesetround()
funkcie nastaviť na ďalšie hodnoty .
Príklad 1: Ako funguje llrint () v 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; )
Po spustení programu bude výstup:
Zaokrúhlenie na najbližšiu (11,87) = 12 Zaokrúhlenie na najbližšiu (11,5) = 12 Zaokrúhlenie nadol (11,8699) = 11 Zaokrúhlenie nahor (33,3201) = 34
Príklad 2: Funkcia llrint () pre integrálne typy
#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; )
Po spustení programu bude výstup:
Zaokrúhlenie nadol (15) = 15
Pre integrálne hodnoty vráti použitie funkcie llrint rovnakú hodnotu ako vstup. V praxi sa teda pre integrálne hodnoty bežne nepoužíva.