Fungsi lrint () di C ++ membulatkan argumen ke nilai integral menggunakan mode pembulatan saat ini.
Fungsi lrint () di C ++ membulatkan argumen ke nilai integral menggunakan mode pembulatan saat ini. Mode pembulatan saat ini ditentukan oleh fungsinya fesetround()
. Ini mirip dengan rint (), tetapi mengembalikan long int
.
lrint () prototipe (Pada standar C ++ 11)
lrint int panjang (x ganda); lrint int panjang (float x); lrint int panjang (panjang ganda x); cetak int panjang (T x); // Untuk tipe integral
Fungsi lrint () mengambil satu argumen dan mengembalikan nilai tipe long int
. Fungsi ini didefinisikan dalam file header.
Parameter lrint ()
Fungsi lrint () mengambil satu nilai argumen untuk dibulatkan.
lrint () Nilai kembali
Fungsi lrint () membulatkan argumen x ke nilai integral, menggunakan arah pembulatan yang ditentukan oleh fegetround () dan mengembalikan nilai dalam long int
.
Secara default, arah pembulatan diatur ke 'ke-terdekat'. Arah pembulatan dapat diatur ke nilai lain menggunakan fungsi fesetround ().
Contoh 1: Bagaimana lrint () bekerja di 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; )
Saat Anda menjalankan program, hasilnya adalah:
Pembulatan ke terdekat (11,87) = 12 Pembulatan ke terdekat (11,5) = 12 Pembulatan ke bawah (11,8699) = 11 Pembulatan ke atas (33,3201) = 34
Contoh 2: fungsi lrint () untuk tipe integral
#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; )
Saat Anda menjalankan program, hasilnya adalah:
Membulatkan ke bawah (15) = 15
Untuk nilai integral, menerapkan fungsi lrint mengembalikan nilai yang sama dengan input. Jadi tidak umum digunakan untuk nilai integral dalam prakteknya.