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.