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

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin