C ++ lrint () - štandardná knižnica C ++

Funkcia lrint () v C ++ zaokrúhľuje argument na integrálnu hodnotu pomocou aktuálneho režimu zaokrúhľovania.

Funkcia lrint () 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 rint (), ale vracia sa long int.

lrint () prototyp (od štandardu C ++ 11)

long int lrint (double x); long int lrint (float x); long int lrint (dlhé dvojité x); long int lrint (T x); // Pre integrálny typ

Funkcia lrint () vezme jediný argument a vráti hodnotu typu long int. Táto funkcia je definovaná v hlavičkovom súbore.

lrint () parametre

Funkcia lrint () zaokrúhli hodnotu jedného argumentu.

lrint () Vrátená hodnota

Funkcia lrint () zaokrúhli argument x na integrálnu hodnotu pomocou smeru zaokrúhľovania určeného parametrom fegetround () a vráti hodnotu v long int.

Predvolene je smer zaokrúhľovania nastavený na „k najbližšiemu“. Smer zaokrúhľovania je možné nastaviť na ďalšie hodnoty pomocou funkcie fesetround ().

Príklad 1: Ako funguje lrint () 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 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; )

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 lrint () pre integrálne typy

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

Po spustení programu bude výstup:

 Zaokrúhlenie nadol (15) = 15 

Pre integrálne hodnoty vráti použitie funkcie lrint rovnakú hodnotu ako vstup. V praxi sa teda pre integrálne hodnoty bežne nepoužíva.

Zaujímavé články...