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á.