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

Funkcija nearbyint () v C ++ zaokroži argument na integralno vrednost s trenutnim načinom zaokroževanja.

Funkcija nearbyint () v C ++ zaokroži argument na integralno vrednost s trenutnim načinom zaokroževanja. Trenutni način zaokroževanja določa funkcija fesetround(). Funkcija Nearint () je podobna funkciji rint (), le da ne povzroča izjem FE_INEXACT kot rint ().

Izjema FE_INEXACT je izjema s plavajočo vejico, ki se pojavi, ko rezultat operacije ni natančno predstavljen zaradi zaokroževanja ali postopnega podlivanja.

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

dvojno v bližini (dvojno x); float nearbyint (float x); dolga dvojna v bližini (dolga dvojna x); dvojno v bližini (T x); // Za integralni tip

Funkcija nearbyint () sprejme en argument in vrne vrednost tipa double, float ali long double type. Ta funkcija je definirana v datoteki glave.

nearbyint () Parametri

Funkcija nearbyint () zavzame eno vrednost argumenta.

nearbyint () Vrnjena vrednost

Funkcija nearbyint () zaokroži argument x na integralno vrednost s pomočjo smeri zaokroževanja, ki jo določa fegetround (), in vrne vrednost. Privzeto je smer zaokroževanja nastavljena na „najbližje“. Smer zaokroževanja lahko nastavite na druge vrednosti s funkcijo fesetround ().

Primer 1: Kako nearbyint () deluje v jeziku 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; )

Ko zaženete program, bo rezultat:

 Zaokroževanje na najbližje (11,87) = 12 Zaokroževanje na najbližje (11,5) = 12 Zaokroževanje navzdol (17,87) = 17 Zaokroževanje navzgor (33,3401) = 34

Primer 2: funkcija nearbyint () za integralne tipe

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

Ko zaženete program, bo rezultat:

 Zaokroževanje navzdol (15) = 15 

Za integralne vrednosti uporaba nearbyintfunkcije vrne enako vrednost kot vhod. Zato se v praksi pogosto ne uporablja za integralne vrednosti.

Zanimive Članki...