C ++ lrint () - C ++ -kirjasto

Funktio lrint () pyöristää argumentin integraaliarvoon nykyistä pyöristystilaa käyttämällä.

Funktio lrint () pyöristää argumentin integraaliarvoksi nykyistä pyöristystilaa käyttämällä. Nykyinen pyöristystila määräytyy toiminnon avulla fesetround(). Se on samanlainen kuin rint (), mutta palauttaa long int.

lrint () -prototyyppi (standardin C ++ 11 mukaan)

pitkä int lrint (kaksinkertainen x); pitkä int lrint (kelluva x); pitkä int lrint (pitkä kaksinkertainen x); pitkä int lrint (T x); // integraalityypille

Funktio lrint () ottaa yhden argumentin ja palauttaa tyypin arvon long int. Tämä toiminto on määritelty otsikkotiedostossa.

lrint () -parametrit

Funktio lrint () pyöristää yhden argumentin arvon.

lrint () Palautusarvo

Funktio lrint () pyöristää argumentin x integraaliarvoon käyttämällä fegetround (): n määrittelemää pyöristyssuuntaa ja palauttaa arvon sisään long int.

Oletuksena pyöristyssuunta on asetettu lähimpään. Pyöristyssuunta voidaan asettaa muille arvoille fesetround () -toiminnon avulla.

Esimerkki 1: Kuinka lrint () toimii C ++: ssa?

 #include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87; long int result; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

Kun suoritat ohjelmaa, tulos on:

 Pyöristäminen lähimpään (11,87) = 12 Pyöristäminen lähimpään (11,5) = 12 Pyöristäminen alaspäin (11,8699) = 11 Pyöristäminen ylöspäin (33,3201) = 34

Esimerkki 2: lrint () -funktio integraaleille tyypeille

 #include #include #include using namespace std; int main() ( int x = 15; long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

Kun suoritat ohjelmaa, tulos on:

 Pyöristäminen alaspäin (15) = 15 

Integraaliarvoille lrint-funktion soveltaminen palauttaa saman arvon kuin tulo. Joten sitä ei käytetä yleisesti integraaliarvoissa käytännössä.

Mielenkiintoisia artikkeleita...