0Pricing
C++ Academy · Lezione

L'header cmath: pow, sqrt, abs, round

Usi la libreria matematica standard per le operazioni matematiche più comuni

L'header cmath: pow, sqrt, abs, round è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

L'header <cmath>

Le funzioni matematiche standard si trovano in <cmath>. La maggior parte accetta e restituisce double; sono disponibili anche overload per float e long double.

Potenze: pow

std::pow(base, exp) eleva base alla potenza exp. Restituisce double.

#include <cmath>
double x = std::pow(2.0, 10);   // 1024.0
double y = std::pow(9.0, 0.5);  // 3.0

Radici quadrate: sqrt cbrt

sqrt restituisce la radice quadrata; cbrt restituisce la radice cubica.

double s = std::sqrt(2.0);   // 1.414...
double c = std::cbrt(27.0);  // 3.0

Valore assoluto: abs

std::abs funziona sia con i tipi interi sia con quelli in virgola mobile. Per gli interi usi <cstdlib> oppure direttamente std::abs.

#include <cmath>
#include <cstdlib>
int    i = std::abs(-5);     // 5
double d = std::abs(-3.14);  // 3.14

Arrotondamento: floor ceil round trunc

Quattro modalità di arrotondamento:

  • floor — verso meno infinito
  • ceil — verso più infinito
  • round — al valore più vicino, con i valori a metà arrotondati lontano da zero
  • trunc — verso zero

Esempi di arrotondamento

Osservi come differiscono per i numeri positivi e negativi.

std::cout << std::floor(3.7) << "\n";  // 3
std::cout << std::ceil(3.2)  << "\n";  // 4
std::cout << std::round(3.5) << "\n";  // 4
std::cout << std::trunc(-3.7) << "\n"; // -3
std::cout << std::floor(-3.7) << "\n"; // -4

Modulo per i numeri in virgola mobile: fmod

L'operatore % funziona solo con gli interi. Per i numeri in virgola mobile usi std::fmod.

double r = std::fmod(10.5, 3.0); // 1.5

Logaritmi

Tre varianti di logaritmo:

  • std::log — logaritmo naturale (base e)
  • std::log10 — base 10
  • std::log2 — base 2 (C++11)

Esponenziale: exp

std::exp(x) calcola e^x. È l'inversa del logaritmo naturale.

double e = std::exp(1.0);     // 2.718...
double x = std::log(e);       // 1.0

Trigonometria

sin, cos, tan e le loro inverse (asin, acos, atan). Tutte accettano angoli espressi in radianti.

double y = std::sin(M_PI / 2);  // 1.0
// Convert degrees to radians: deg * M_PI / 180

Costanti utili (C++20)

C++20 ha aggiunto costanti matematiche con nome in <numbers>: std::numbers::pi, e, sqrt2 e altre.

#include <numbers>
std::cout << std::numbers::pi;     // 3.14159...
std::cout << std::numbers::e;      // 2.71828...

Verifica rapida

Quale funzione arrotonda -3.7 a -4?

Riepilogo

<cmath> include potenze, radici, valore assoluto, arrotondamento, modulo, logaritmi, esponenziali e funzioni trigonometriche. Le funzioni trigonometriche lavorano in radianti. C++20 ha aggiunto <numbers> per costanti con nome come std::numbers::pi.

Domande Frequenti

La lezione «L'header cmath: pow, sqrt, abs, round» è gratuita?

Sì — il testo completo di «L'header cmath: pow, sqrt, abs, round» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «L'header cmath: pow, sqrt, abs, round»?

Usi la libreria matematica standard per le operazioni matematiche più comuni Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «L'header cmath: pow, sqrt, abs, round»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Tipi interi e a virgola mobile a confronto
  2. L'header cmath: pow, sqrt, abs, round
  3. Numeri casuali con l'header random
  4. Limiti numerici e comportamento dell'overflow
← Torna a C++ Academy