Funkcja llrint () w C ++ zaokrągla argument do wartości całkowitej przy użyciu bieżącego trybu zaokrąglania.
Funkcja llrint () w C ++ zaokrągla argument do wartości całkowitej przy użyciu bieżącego trybu zaokrąglania.
Bieżący tryb zaokrąglania jest określany przez funkcję fesetround()
. Jest podobny do lrint (), ale zwraca long long int zamiast 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); // Dla typu całkowitego
Funkcja llrint () przyjmuje pojedynczy argument i zwraca wartość typu long long int. Ta funkcja jest zdefiniowana w pliku nagłówkowym.
llrint () Parametry
Funkcja llrint () przyjmuje wartość pojedynczego argumentu do zaokrąglenia.
llrint () Wartość zwracana
Funkcja llrint () zaokrągla argument x do wartości całkowitej, używając kierunku zaokrąglania określonego przez fegetround()
i zwraca wartość w long long int
.
Domyślnie kierunek zaokrąglania jest ustawiony na 'to-nearest'
.
Kierunek zaokrąglenia można ustawić na inne wartości za pomocą fesetround()
funkcji.
Przykład 1: Jak llrint () działa w 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; )
Po uruchomieniu programu wynik będzie następujący:
Zaokrąglenie do najbliższego (11,87) = 12 Zaokrąglenie do najbliższego (11,5) = 12 Zaokrąglenie w dół (11,8699) = 11 Zaokrąglenie w górę (33,3201) = 34
Przykład 2: funkcja llrint () dla typów całkowitych
#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; )
Po uruchomieniu programu wynik będzie następujący:
Zaokrąglanie w dół (15) = 15
W przypadku wartości całkowitych zastosowanie funkcji llrint zwraca tę samą wartość co dane wejściowe. Dlatego w praktyce nie jest powszechnie używany dla wartości całkowitych.