C ++ nearbyint () - C ++ Standardbibliotek

Nærliggendeint () -funktionen i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand.

Nærliggendeint () -funktionen i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand. Den aktuelle afrundingstilstand bestemmes af funktionen fesetround(). Funktionen nearbyint () svarer til rint (), bortset fra at den ikke hæver FE_INEXACT undtagelser som rint ().

En FE_INEXACT-undtagelse er en undtagelse med flydende punkt, der opstår, når resultatet af en operation ikke er repræsenteret nøjagtigt på grund af afrunding eller gradvis understrømning.

nearbyint () prototype (pr. C ++ 11 standard)

dobbelt nærliggendeint (dobbelt x); flyde i nærheden (flyde x); lang dobbelt nærliggende (lang dobbelt x); dobbelt nærliggendeint (T x); // For integreret type

Funktionen nearbyint () tager et enkelt argument og returnerer en værdi af typen dobbelt, flydende eller lang dobbelt type. Denne funktion er defineret i headerfilen.

nearbyint () Parametre

Funktionen nearbyint () tager en enkelt argumentværdi til at runde.

nearbyint () Returværdi

Funktionen nearbyint () afrunder argumentet x til en integreret værdi ved hjælp af afrundingsretningen specificeret af fegetround () og returnerer værdien. Afrundingsretningen er som standard indstillet til 'nærmest'. Afrundingsretningen kan indstilles til andre værdier ved hjælp af funktionen 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 kører programmet, vil output være:

 Afrunding til nærmeste (11,87) = 12 Afrunding til nærmeste (11,5) = 12 Afrunding nedad (17,87) = 17 Afrunding opad (33,3401) = 34

Eksempel 2: nearbyint () -funktion til integrerede 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 kører programmet, vil output være:

 Afrunding nedad (15) = 15 

For integrerede værdier nearbyintreturnerer anvendelse af funktionen den samme værdi som input. Så det bruges ikke almindeligt til integrerede værdier i praksis.

Interessante artikler...