L’en-tête cmath : pow, sqrt, abs, round
Utiliser la bibliothèque mathématique standard pour les opérations mathématiques courantes
L’en-tête cmath : pow, sqrt, abs, round est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.
L’en-tête <cmath>
Les fonctions mathématiques standard se trouvent dans <cmath>. La plupart acceptent et renvoient un double ; il existe aussi des surcharges pour float et long double.
Puissances : pow
std::pow(base, exp) élève base à la puissance exp. Renvoie un double.
#include <cmath>
double x = std::pow(2.0, 10); // 1024.0
double y = std::pow(9.0, 0.5); // 3.0Racines carrées : sqrt cbrt
sqrt renvoie la racine carrée ; cbrt renvoie la racine cubique.
double s = std::sqrt(2.0); // 1.414...
double c = std::cbrt(27.0); // 3.0Valeur absolue : abs
std::abs fonctionne avec les types entiers et flottants. Pour les entiers, utilisez <cstdlib> ou simplement std::abs.
#include <cmath>
#include <cstdlib>
int i = std::abs(-5); // 5
double d = std::abs(-3.14); // 3.14Arrondi : floor ceil round trunc
Quatre modes d’arrondi :
floor— vers moins l’infiniceil— vers plus l’infiniround— vers l’entier le plus proche, les demi-unités s’éloignant de zérotrunc— vers zéro
Exemples d’arrondi
Observez leurs différences avec des nombres positifs et négatifs.
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 pour les flottants : fmod
L’opérateur % fonctionne uniquement avec les entiers. Utilisez std::fmod pour les flottants.
double r = std::fmod(10.5, 3.0); // 1.5Logarithmes
Trois variantes de log :
std::log— logarithme naturel (base e)std::log10— base 10std::log2— base 2 (C++11)
Exponentielle : exp
std::exp(x) calcule e^x. C’est l’inverse du logarithme naturel.
double e = std::exp(1.0); // 2.718...
double x = std::log(e); // 1.0Trigonométrie
sin, cos, tan et leurs inverses (asin, acos, atan). Tous prennent des angles en radians.
double y = std::sin(M_PI / 2); // 1.0
// Convert degrees to radians: deg * M_PI / 180Constantes utiles (C++20)
C++20 a ajouté des constantes mathématiques nommées dans <numbers> : std::numbers::pi, e, sqrt2, et bien d’autres.
#include <numbers>
std::cout << std::numbers::pi; // 3.14159...
std::cout << std::numbers::e; // 2.71828...Vérification rapide
Quelle fonction arrondit -3.7 à -4 ?
Récapitulatif
<cmath> couvre les puissances, les racines, la valeur absolue, l’arrondi, le modulo, les logarithmes, les exponentielles et la trigonométrie. Les fonctions trigonométriques utilisent des radians. C++20 a ajouté <numbers> pour les constantes nommées comme std::numbers::pi.
Questions Fréquemment Posées
La leçon « L’en-tête cmath : pow, sqrt, abs, round » est-elle gratuite ?
Oui — le texte complet de « L’en-tête cmath : pow, sqrt, abs, round » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « L’en-tête cmath : pow, sqrt, abs, round » ?
Utiliser la bibliothèque mathématique standard pour les opérations mathématiques courantes Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C++ Academy ?
Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « L’en-tête cmath : pow, sqrt, abs, round » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?
Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Types entiers et à virgule flottante
- L’en-tête cmath : pow, sqrt, abs, round
- Nombres aléatoires avec l’en-tête random
- Limites numériques et comportement en cas de dépassement