C ++ nearbyint () - C ++ Standard Library

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

Funkcija nearbyint () C ++ apaļ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(). Funkcija nearbyint () ir līdzīga rint (), izņemot to, ka tā neizvirza FE_INEXACT izņēmumus kā rint ().

FE_INEXACT izņēmums ir peldošā komata izņēmums, kas rodas, ja operācijas rezultāts nav precīzi attēlots noapaļošanas vai pakāpeniskas nepietiekamas plūsmas dēļ.

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

dubultā tuvumā (dubultā x); pludiņš nearbyint (pludiņš x); garš dubultā tuvumā (garš dubultā x); dubultā tuvumā (T x); // Neatņemamajam tipam

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

nearbyint () Parametri

Funkcijai nearbyint () jānoapaļo viena argumenta vērtība.

nearbyint () Atgriešanās vērtība

Funkcija nearbyint () 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ā nearbyint () 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 = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = nearbyint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 17.87; result = nearbyint(x); cout << "Rounding downward (" << x << ") = " << nearbyint(x) << endl; // setting rounding direction to UPWARD x = 33.34; fesetround(FE_UPWARD); result = nearbyint(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 (17,87) = 17 Noapaļošana uz augšu (33,3401) = 34

2. piemērs: funkcija integralint () 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 = nearbyint(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 nearbyintfunkciju, 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...