C ++ nearbyint () - C ++ standardna knjižnica

Funkcija nearbyint () u C ++ zaokružuje argument na integralnu vrijednost pomoću trenutnog načina zaokruživanja.

Funkcija nearbyint () u C ++ zaokružuje argument na integralnu vrijednost pomoću trenutnog načina zaokruživanja. Trenutni način zaokruživanja određuje funkcija fesetround(). Funkcija Nearint () slična je rint (), osim što ne izaziva FE_INEXACT iznimke kao rint ().

Iznimka FE_INEXACT je iznimka s pomičnim zarezom koja se javlja kada rezultat operacije nije točno predstavljen zbog zaokruživanja ili postupnog podlijevanja.

nearbyint () prototip (od C ++ 11 standarda)

dvostruko nearbyint (dvostruko x); plutati u bliziniint (plutati x); dugi dvostruki nearbyint (dugi dvostruki x); dvostruko u blizini (T x); // Za integralni tip

Funkcija nearbyint () uzima jedan argument i vraća vrijednost tipa double, float ili long double type. Ova je funkcija definirana u zaglavnoj datoteci.

nearbyint () Parametri

Funkcija nearbyint () uzima jednu vrijednost argumenta da zaokruži.

nearbyint () Povratna vrijednost

Funkcija nearbyint () zaokružuje argument x na integralnu vrijednost, koristeći smjer zaokruživanja naveden u fegetround () i vraća vrijednost. Prema zadanim postavkama smjer zaokruživanja postavljen je na 'najbliže'. Smjer zaokruživanja može se postaviti na druge vrijednosti pomoću funkcije fesetround ().

Primjer 1: Kako nearbyint () radi u 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; )

Kada pokrenete program, izlaz će biti:

 Zaokruživanje na najbliže (11,87) = 12 Zaokruživanje na najbliže (11,5) = 12 Zaokruživanje prema dolje (17,87) = 17 Zaokruživanje naviše (33,3401) = 34

Primjer 2: funkcija nearbyint () za integralne tipove

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

Kada pokrenete program, izlaz će biti:

 Zaokruživanje prema dolje (15) = 15 

Za integralne vrijednosti, primjena nearbyintfunkcije vraća istu vrijednost kao i ulaz. Stoga se u praksi često ne koristi za integralne vrijednosti.

Zanimljivi članci...