C ++ lrint () - C ++ Standart Kitaplığı

C ++ 'daki lrint () işlevi, geçerli yuvarlama modunu kullanarak bağımsız değişkeni bir integral değere yuvarlar.

C ++ 'daki lrint () 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(). Rint () 'e benzer, ancak geri döner long int.

lrint () prototipi (C ++ 11 standardından itibaren)

uzun iç çizgi (çift x); uzun iç çizgi (float x); uzun iç çizgi (uzun çift x); uzun iç çizgi (T x); // İntegral türü için

Lrint () işlevi tek bir bağımsız değişken alır ve bir tür değeri döndürür long int. Bu işlev başlık dosyasında tanımlanmıştır.

lrint () Parametreler

Lrint () işlevi yuvarlamak için tek bir argüman değeri alır.

lrint () Dönüş değeri

Lrint () işlevi, fegetround () ile belirtilen yuvarlama yönünü kullanarak x bağımsız değişkenini bir integral değere yuvarlar ve değeri içinde döndürür long int.

Varsayılan olarak, yuvarlama yönü 'en yakına' olarak ayarlanmıştır. Yuvarlama yönü, fesetround () işlevi kullanılarak diğer değerlere ayarlanabilir.

Örnek 1: lrint () 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 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; )

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 lrint () işlevi

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

Programı çalıştırdığınızda, çıktı:

 Aşağı yuvarlama (15) = 15 

İntegral değerler için, lrint fonksiyonunun uygulanması girişle aynı değeri döndürür. Bu nedenle pratikte integral değerler için yaygın olarak kullanılmaz.

Ilginç makaleler...