La funzione floor(x) in C++
La funzione floor(x) è una funzione matematica standard in C++, utilizzata per arrotondare un numero a virgola mobile.
floor(x)
L'argomento x è un numero in virgola mobile (float, double, long double).
La funzione restituisce il numero intero minore o uguale più vicino.
Questa funzione arrotonda sempre verso il basso, indipendentemente dal segno del numero. Se usi floor su un numero che è già un intero, il risultato sarà lo stesso numero, poiché non c'è parte frazionaria da eliminare.
Per utilizzare la funzione floor, devi includere la libreria cmath. Ecco come si fa:
#include <cmath>
Ad esempio, diciamo che hai un numero a virgola mobile, come 3.78, e vuoi arrotondarlo all'intero inferiore o uguale più vicino.
Ecco come puoi usare floor:
- #include <iostream>
- #include <cmath>
- int main() {
- double num = 3.78;
- std::cout << "floor(" << num << ") = " << floor(num) << std::endl;
- return 0;
- }
In questo caso, il numero in virgola mobile 3.78 diventa 3.
floor(3.78) = 3
Questo è interessante perché floor arrotonda sempre verso il basso:
Lo stesso accade se hai un numero negativo, ad esempio -2.3
- #include <iostream>
- #include <cmath>
- int main() {
- double num = -2.3;
- std::cout << "floor(" << num << ") = " << floor(num) << std::endl;
- return 0;
- }
Anche se -2.3 è vicino a -2, floor lo arrotonda a -3 perché è il numero intero più vicino che non sia maggiore di -2.3.
floor(-2.3) = -3
Ricorda, questa funzione arrotonda sempre verso il basso.
Se hai l'esigenza di arrotondare verso il numero intero maggiore o uguale più vicino, ti consiglio di usare la funzione ceil().