Funkcija lrint () sistēmā C ++ noapaļo argumentu līdz integrālai vērtībai, izmantojot pašreizējo noapaļošanas režīmu.
Funkcija lrint () sistēmā C ++ noapaļo argumentu līdz integrālai vērtībai, izmantojot pašreizējo noapaļošanas režīmu. Pašreizējo noapaļošanas režīmu nosaka funkcija fesetround()
. Tas ir līdzīgs rint (), bet atgriežas long int
.
lrint () prototips (pēc standarta C ++ 11)
garš int lrint (dubultā x); garš int lrint (pludiņš x); garš int lrint (garš dubultā x); garš int lrint (T x); // Neatņemamajam tipam
Funkcija lrint () aizņem vienu argumentu un atgriež tipa vērtību long int
. Šī funkcija ir definēta galvenes failā.
lrint () parametri
Funkcija lrint () noapaļo vienu argumenta vērtību.
lrint () Atgriešanās vērtība
Funkcija lrint () noapaļo argumentu x līdz integrālai vērtībai, izmantojot fegetround () norādīto noapaļošanas virzienu un atgriež vērtību long int
.
Pēc noklusējuma noapaļošanas virziens ir iestatīts uz “līdz tuvākajam”. Noapaļošanas virzienu var iestatīt uz citām vērtībām, izmantojot fesetround () funkciju.
1. piemērs: Kā lrint () darbojas 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; )
Palaidot programmu, izeja būs:
Noapaļošana līdz tuvākajam (11,87) = 12 Noapaļošana līdz tuvākajam (11,5) = 12 noapaļošana uz leju (11,8699) = 11 noapaļošana uz augšu (33,3201) = 34
2. piemērs: funkcija lrint () integrāliem tipiem
#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; )
Palaidot programmu, izeja būs:
Noapaļošana uz leju (15) = 15
Integrālām vērtībām, lietojot funkciju lrint, tiek atgriezta tā pati vērtība kā ievadei. Tāpēc praksē to parasti neizmanto integrālām vērtībām.