C ++ lrint () - Perpustakaan Standard C ++

Fungsi lrint () dalam C ++ membundarkan argumen ke nilai integral menggunakan mod pembundaran semasa.

Fungsi lrint () dalam C ++ membundarkan argumen ke nilai integral menggunakan mod pembundaran semasa. Mod pembulatan semasa ditentukan oleh fungsi fesetround(). Ia serupa dengan rint (), tetapi kembali long int.

prototaip lrint () (Seperti standard C ++ 11)

int int panjang (berganda x); int panjang (float x); panjang int panjang (panjang ganda x); int int panjang (T x); // Untuk jenis kamiran

Fungsi lrint () mengambil satu argumen dan mengembalikan nilai jenis long int. Fungsi ini ditentukan dalam fail header.

lrint () Parameter

Fungsi lrint () mengambil satu nilai argumen untuk dibundarkan.

lrint () Nilai pulangan

Fungsi lrint () membundarkan argumen x ke nilai integral, menggunakan arah pembundaran yang ditentukan oleh fegetround () dan mengembalikan nilai dalam long int.

Secara lalai, arah pembundaran ditetapkan ke 'paling hampir'. Arah pembundaran dapat diatur ke nilai lain menggunakan fungsi fesetround ().

Contoh 1: Bagaimana lrint () berfungsi dalam 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 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; )

Semasa anda menjalankan program, outputnya adalah:

 Membundarkan ke terdekat (11.87) = 12 Membundarkan ke terdekat (11.5) = 12 Membundarkan ke terdekat (11.8699) = 11 Membundarkan ke atas (33.3201) = 34

Contoh 2: fungsi lrint () untuk jenis kamiran

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

Semasa anda menjalankan program, outputnya adalah:

 Membundarkan ke bawah (15) = 15 

Untuk nilai integral, menerapkan fungsi lrint mengembalikan nilai yang sama dengan input. Oleh itu, ia tidak biasa digunakan untuk nilai integral dalam praktiknya.

Artikel menarik...