English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funzioni di Libreria <cmath> in C++
La funzione rint() di C++ arrotonda il parametro in un valore intero utilizzando il modello di arrotondamento corrente. Il modello di arrotondamento corrente è determinato dalla funzione fesetround().
double rint(double x); float rint(float x); long double rint(long double x); double rint(T x); // Per interi
La funzione rint() adotta un singolo parametro e restituisce un valore di tipo double, float o long double. Questa funzione è disponibile<cmath>Definito nella libreria di intestazione.
La funzione rint() adotta un singolo parametro per arrotondare.
La funzione rint() utilizza la direzione di arrotondamento specificata da fegetround() per arrotondare il parametro x a un valore intero e restituisce tale valore. Di default, la direzione di arrotondamento è impostata su "più vicino". Può essere impostata su altri valori utilizzando la funzione fesetround().
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { // Di default, la direzione di arrotondamento è la più vicina, ossia fesetround(FE_TONEAREST) double x = 11.87, result; result = rint(x); cout << "Arrotondamento al più vicino (" << x << ") = " << result << endl; // Valore intermedio presa la parte più alta x = 11.5; result = rint(x); cout << "Arrotondamento al più vicino (" << x << ") = " << result << endl; // Imposta la direzione di arrotondamento a DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = rint(x); cout << "Arrotondamento in basso (" << x << ") = " << result << endl; // Imposta la direzione di arrotondamento su UPWARD fesetround(FE_UPWARD); x = 33.32; result = rint(x); cout << "Arrotondamento verso l'alto (" << x << ") = " << result << endl; return 0; }
Quando si esegue il programma, l'output è:
Arrotondamento al più vicino (11.87) = 12 Arrotondamento al più vicino (11.5) = 12 Arrotondamento verso il basso (11.8699) = 11 Arrotondamento verso l'alto (33.3201) = 34
#include <iostream> #include <cmath> #include <cfenv> using namespace std; int main() { int x = 15; double result; // Imposta la direzione di arrotondamento a DOWNWARD fesetround(FE_DOWNWARD); result = rint(x); cout << "Arrotondamento in basso (" << x << ") = " << result << endl; return 0; }
Quando si esegue il programma, l'output è:
Arrotondamento in basso (15) = 15
Per valori interi, la funzione rint restituisce lo stesso valore dell'input. Pertanto, di solito non viene utilizzata per valori integrali.