Funktsioon lrint () ümardab C ++ argumendi integraalväärtuseni, kasutades praegust ümardamisrežiimi.
Funktsioon lrint () funktsioonis C ++ ümardab argumendi integraalväärtuseni, kasutades praegust ümardamisrežiimi. Praeguse ümardamisrežiimi määrab funktsioon fesetround()
. See sarnaneb rint () -ga, kuid naaseb long int
.
lrint () prototüüp (standardi C ++ 11 järgi)
pikk int lrint (topelt x); pikk int lrint (ujuk x); pikk int lrint (pikk topelt x); pikk int lrint (T x); // Integraaltüübi korral
Funktsioon lrint () võtab ühe argumendi ja tagastab tüübi väärtuse long int
. See funktsioon on määratletud päisefailis.
lrint () parameetrid
Funktsioon lrint () ümardab ühe argumendi väärtuse.
lrint () Tagastusväärtus
Funktsioon lrint () ümardab argumendi x integraalväärtuseni, kasutades fegetround () abil määratud ümardamissuunda, ja tagastab väärtuse long int
.
Vaikimisi on ümardamise suund seatud lähimale. Fesetround () funktsiooni abil saab ümardamissuuna seada muudele väärtustele.
Näide 1: Kuidas lrint () töötab versioonis 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; 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; )
Programmi käivitamisel on väljund järgmine:
Ümardamine lähimale (11,87) = 12 Ümardamine lähimale (11,5) = 12 ümardamine allapoole (11,8699) = 11 ümardamine ülespoole (33,3201) = 34
Näide 2: integraaltüüpide funktsioon lrint ()
#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; )
Programmi käivitamisel on väljund järgmine:
Ümmardamine allapoole (15) = 15
Integraalväärtuste korral tagastab funktsiooni lrint rakendades sisendiga sama väärtuse. Nii et praktikas ei kasutata seda tavaliselt integraalsete väärtuste jaoks.