C ++ nearbyint () - standardní knihovna C ++

Funkce nearbyint () v C ++ zaokrouhlí argument na integrální hodnotu pomocí aktuálního režimu zaokrouhlování.

Funkce nearbyint () v C ++ zaokrouhlí argument na integrální hodnotu pomocí aktuálního režimu zaokrouhlování. Aktuální režim zaokrouhlování je určen funkcí fesetround(). Funkce nearbyint () je podobná rint (), kromě toho, že nezvýší FE_INEXACT výjimky jako rint ().

Výjimkou FE_INEXACT je výjimka s plovoucí desetinnou čárkou, ke které dochází, když výsledek operace není reprezentován přesně kvůli zaokrouhlování nebo postupnému podtečení.

v blízkostiint () prototyp (podle standardu C ++ 11)

dvojitý poblížint (dvojitý x); float nearbyint (float x); dlouhý dvojitý poblížint (dlouhý dvojitý x); zdvojnásobení poblíž (T x); // Pro integrální typ

Funkce nearbyint () přebírá jeden argument a vrací hodnotu typu double, float nebo long double. Tato funkce je definována v hlavičkovém souboru.

nearbyint () parametry

Funkce nearbyint () zaokrouhlí hodnotu jediného argumentu.

nearbyint () Návratová hodnota

Funkce nearbyint () zaokrouhlí argument x na integrální hodnotu pomocí směru zaokrouhlování určeného funkcí fegetround () a vrátí hodnotu. Ve výchozím nastavení je směr zaokrouhlování nastaven na „k nejbližšímu“. Směr zaokrouhlování lze nastavit na jiné hodnoty pomocí funkce fesetround ().

Příklad 1: Jak v okolí ++ funguje () v 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; )

Když spustíte program, výstup bude:

 Zaokrouhlování na nejbližší (11,87) = 12 Zaokrouhlování na nejbližší (11,5) = 12 Zaokrouhlování dolů (17,87) = 17 Zaokrouhlování nahoru (33,3401) = 34

Příklad 2: funkce nearbyint () pro integrální typy

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

Když spustíte program, výstup bude:

 Zaokrouhlování dolů (15) = 15 

U integrálních hodnot nearbyintvrátí použití funkce stejnou hodnotu jako vstup. V praxi se tedy pro integrální hodnoty běžně nepoužívá.

Zajímavé články...