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

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

Funkce llrint () 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 lrint (), ale vrátí long long int místo long int.

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

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

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

llrint () parametry

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

llrint () Návratová hodnota

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

Ve výchozím nastavení je směr zaokrouhlování nastaven na 'to-nearest'.

Směr zaokrouhlení lze pomocí fesetround()funkce nastavit na jiné hodnoty .

Příklad 1: Jak llrint () 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 long int result; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = llrint(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 llrint () pro integrální typy

 #include #include #include using namespace std; int main() ( int x = 15; long long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = llrint(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 llrint stejnou hodnotu jako vstup. V praxi se tedy pro integrální hodnoty běžně nepoužívá.

Zajímavé články...