C ++ nearbyint () - C ++ Standardbibliotek

Nærliggendeint () -funksjonen i C ++ avrunder argumentet til en integrert verdi ved hjelp av gjeldende avrundingsmodus.

Nærliggendeint () -funksjonen i C ++ avrunder argumentet til en integrert verdi ved hjelp av gjeldende avrundingsmodus. Gjeldende avrundingsmodus bestemmes av funksjonen fesetround(). Funksjonen nearbyint () ligner på rint (), bortsett fra at den ikke hever FE_INEXACT unntak som rint ().

Et FE_INEXACT unntak er et flytende unntak som oppstår når resultatet av en operasjon ikke er representert nøyaktig på grunn av avrunding eller gradvis understrømning.

nearbyint () prototype (fra og med C ++ 11 standard)

dobbelt nærliggendeint (dobbelt x); float nearbyint (float x); lang dobbelt nærliggende (lang dobbel x); dobbelt nærliggendeint (T x); // For integrert type

Nærliggendeint () -funksjonen tar et enkelt argument og returnerer en verdi av typen dobbel, flyt eller lang dobbel type. Denne funksjonen er definert i topptekstfilen.

nearbyint () Parametere

Nærliggendeint () -funksjonen tar en enkelt argumentverdi å runde.

nearbyint () Returverdi

Nærliggendeint () -funksjonen avrunder argumentet x til en integrert verdi ved hjelp av avrundingsretningen spesifisert av fegetround () og returnerer verdien. Avrundingsretningen er som standard satt til "nærmeste". Avrundingsretningen kan stilles til andre verdier ved hjelp av funksjonen fesetround ().

Eksempel 1: Hvordan nearbyint () fungerer i 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; )

Når du kjører programmet, vil utdataene være:

 Avrunding nærmest (11,87) = 12 Avrunding nærmest (11,5) = 12 Avrunding nedover (17,87) = 17 Avrunding oppover (33,3401) = 34

Eksempel 2: nearbyint () -funksjon for integrerte typer

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

Når du kjører programmet, vil utdataene være:

 Avrunding nedover (15) = 15 

For integrerte verdier nearbyintreturnerer bruk av funksjonen samme verdi som inngangen. Så det brukes ikke ofte til integrerte verdier i praksis.

Interessante artikler...