C ++ rint () - Libreria standard C ++

La funzione rint () in C ++ arrotonda l'argomento a un valore integrale utilizzando la modalità di arrotondamento corrente.

La funzione rint () in C ++ arrotonda l'argomento a un valore integrale utilizzando la modalità di arrotondamento corrente. La modalità di arrotondamento corrente è determinata dalla funzione fesetround ().

prototipo rint () (come dallo standard C ++ 11)

doppia rint (doppia x); float rint (float x); long double rint (long double x); doppio rint (T x); // Per il tipo integrale

La funzione rint () accetta un singolo argomento e restituisce un valore di tipo double, float o long double. Questa funzione è definita nel file di intestazione.

Parametri rint ()

La funzione rint () richiede un singolo valore di argomento da arrotondare.

rint () Restituisce il valore

La funzione rint () arrotonda l'argomento x a un valore integrale, utilizzando la direzione di arrotondamento specificata da fegetround () e restituisce il valore. Per impostazione predefinita, la direzione di arrotondamento è impostata su "al più vicino". La direzione di arrotondamento può essere impostata su altri valori utilizzando la funzione fesetround ().

Esempio 1: come funziona rint () in 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, result; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = rint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = rint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )

Quando esegui il programma, l'output sarà:

 Arrotondamento al più vicino (11,87) = 12 Arrotondamento al più vicino (11,5) = 12 Arrotondamento per difetto (11,8699) = 11 Arrotondamento per eccesso (33,3201) = 34

Esempio 2: funzione rint () per i tipi integrali

 #include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = rint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; ) 

Quando esegui il programma, l'output sarà:

 Arrotondamento per difetto (15) = 15 

Per i valori integrali, l'applicazione della funzione rint restituisce lo stesso valore dell'input. Quindi non è comunemente usato per i valori integrali nella pratica.

Articoli interessanti...