C ++ lrint () - C ++ standarta bibliotēka

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.

Interesanti raksti...