C ++ 'daki llrint () işlevi, geçerli yuvarlama modunu kullanarak bağımsız değişkeni bir integral değere yuvarlar.
C ++ 'daki llrint () işlevi, geçerli yuvarlama modunu kullanarak bağımsız değişkeni bir integral değere yuvarlar.
Geçerli yuvarlama modu, işlev tarafından belirlenir fesetround()
. Lrint () 'e benzer, ancak long int yerine long long int döndürür.
llrint () prototipi (C ++ 11 standardından itibaren)
uzun uzun int llrint (çift x); uzun uzun int llrint (float x); uzun uzun int llrint (uzun çift x); uzun uzun int llrint (T x); // İntegral türü için
Llrint () işlevi tek bir bağımsız değişken alır ve long long int türünde bir değer döndürür. Bu işlev başlık dosyasında tanımlanmıştır.
llrint () Parametreler
Llrint () işlevi yuvarlamak için tek bir bağımsız değişken değeri alır.
llrint () Dönüş değeri
Llrint () işlevi, ile belirtilen yuvarlama yönünü kullanarak x bağımsız değişkenini bir integral değere yuvarlar fegetround()
ve değeri içinde döndürür long long int
.
Varsayılan olarak, yuvarlama yönü olarak ayarlanmıştır 'to-nearest'
.
Yuvarlama yönü, fesetround()
fonksiyon kullanılarak diğer değerlere ayarlanabilir .
Örnek 1: llrint () C ++ 'da nasıl çalışır?
#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; )
Programı çalıştırdığınızda, çıktı:
En yakına yuvarlama (11.87) = 12 En yakına yuvarlama (11.5) = 12 Aşağı yuvarlama (11.8699) = 11 Yukarı yuvarlama (33.3201) = 34
Örnek 2: integral türleri için llrint () işlevi
#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; )
Programı çalıştırdığınızda, çıktı:
Aşağı yuvarlama (15) = 15
İntegral değerler için, llrint işlevini uygulamak, girdi ile aynı değeri döndürür. Bu nedenle pratikte integral değerler için yaygın olarak kullanılmaz.