C ++ llrint () - Libreria standard C ++

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

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

La modalità di arrotondamento corrente è determinata dalla funzione fesetround(). È simile a lrint (), ma restituisce long long int invece di long int.

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

long long int llrint (doppia x); long long int llrint (float x); long long int llrint (long double x); long long int llrint (T x); // Per il tipo integrale

La funzione llrint () accetta un singolo argomento e restituisce un valore di tipo long long int. Questa funzione è definita nel file di intestazione.

Parametri llrint ()

La funzione llrint () accetta un singolo valore di argomento da arrotondare.

llrint () Restituisce il valore

La funzione llrint () arrotonda l'argomento x a un valore integrale, utilizzando la direzione di arrotondamento specificata da fegetround()e restituisce il valore in long long int.

Per impostazione predefinita, la direzione di arrotondamento è impostata su 'to-nearest'.

La direzione di arrotondamento può essere impostata su altri valori utilizzando la fesetround()funzione.

Esempio 1: come funziona llrint () 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; long long int result; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = llrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = llrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = llrint(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 llrint () per i tipi integrali

 #include #include #include using namespace std; int main() ( int x = 15; long long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = llrint(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 llrint restituisce lo stesso valore dell'input. Quindi non è comunemente usato per i valori integrali nella pratica.

Articoli interessanti...