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.0Radici 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.0Valore 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.14Arrotondamento: floor ceil round trunc
Quattro modalità di arrotondamento:
floor— verso meno infinitoceil— verso più infinitoround— al valore più vicino, con i valori a metà arrotondati lontano da zerotrunc— 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"; // -4Modulo 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.5Logaritmi
Tre varianti di logaritmo:
std::log— logaritmo naturale (base e)std::log10— base 10std::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.0Trigonometria
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 / 180Costanti 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
- Tipi interi e a virgola mobile a confronto
- L'header cmath: pow, sqrt, abs, round
- Numeri casuali con l'header random
- Limiti numerici e comportamento dell'overflow