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

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

Funkce lrint () 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(). Je to podobné jako s rint (), ale vrací se long int.

lrint () prototyp (od standardu C ++ 11)

long int lrint (double x); long int lrint (float x); long int lrint (long double x); long int lrint (T x); // Pro integrální typ

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

lrint () parametry

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

lrint () Návratová hodnota

Funkce lrint () zaokrouhlí argument x na integrální hodnotu pomocí směru zaokrouhlování určeného fegetround () a vrátí hodnotu in long int.

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 lrint () 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; 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; )

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

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

Příklad 2: Funkce lrint () pro integrální typy

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

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

 Zaokrouhlování dolů (15) = 15 

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

Zajímavé články...