English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di Base di C++

Controllo di flusso di C++

Funzioni in C++

Array e stringhe di C++

Strutture dati di C++

Classi e oggetti di C++

Puntatori in C++

Ereditarietà in C++

Tutorial STL di C++

Manuale di riferimento di C++

Utilizzo e esempio della funzione rint() in C++

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().

Prototipo di rint() [dalla versione standard C++ 11]

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.

Parametro rint()

La funzione rint() adotta un singolo parametro per arrotondare.

Valore restituito da rint()

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().

Esempio 1: Come funziona rint() in C++?

#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

Esempio 2: La funzione rint() di tipo intero

#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.

Funzioni di Libreria <cmath> in C++