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 nearbyint
funkcije vraća istu vrijednost kao i ulaz. Stoga se u praksi često ne koristi za integralne vrijednosti.