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

Funkcija rint () sistēmā C ++ noapaļo argumentu līdz integrālai vērtībai, izmantojot pašreizējo noapaļošanas režīmu.

Funkcija rint () 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 ().

rint () prototips (pēc standarta C ++ 11)

dubultā druka (dubultā x); pludiņa rints (pludiņš x); garš dubultrints (garš dubultā x); dubultrints (T x); // Neatņemamajam tipam

Funkcija rint () aizņem vienu argumentu un atgriež double, float vai long double type vērtību. Šī funkcija ir definēta galvenes failā.

rint () parametri

Funkcija rint () noapaļo vienu argumenta vērtību.

atgriešanās vērtība

Funkcija rint () 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. 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ā rint () 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, result; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = rint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = rint(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 rint () integrāliem tipiem

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = rint(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 rint funkciju, 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...