C++ Nombres

Habituellement, lorsque nous devons utiliser des nombres, nous utilisons des types de données primitifs tels que int, short, long, float et double, etc. Nous avons déjà abordé les valeurs possibles et les plages de ces types de données pour les nombres dans le chapitre Types de données en C++.

Définition des nombres en C++

Nous avons déjà défini des nombres dans divers exemples des chapitres précédents. Voici un exemple complet de définition de divers types de nombres en C++ :

Exemple

#include <iostream> using namespace std; int main () { // Définition des nombres short s; int i; long l; float f; double d; // Affectation des nombres s = 10; i = 1000; l = 1000000; f = 230.47; d = 30949.374; // Sortie des nombres cout << "short s :" << s << endl; cout << "int i :" << i << endl; cout << "long l :" << l << endl; cout << "float f :" << f << endl; cout << "double d :" << d << endl; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

short  s :10
int    i :1000
long   l :1000000
float  f :230.47
double d :30949.4

Opérations mathématiques en C++

En C++, en plus de créer diverses fonctions, il inclut également diverses fonctions utiles que vous pouvez utiliser. Ces fonctions sont écrites dans les bibliothèques standard C et C++, appelées fonctionsintégrées. Vous pouvez référencer ces fonctions dans votre programme.

C++ dispose de riches fonctions mathématiques intégrées qui peuvent opérer sur divers nombres. Le tableau suivant liste quelques fonctions mathématiques intégrées utiles en C++.

Pour utiliser ces fonctions, vous devez inclure le fichier d'en-tête mathématique<cmath>。

Numéro de sérieFonction & Description
1double cos(double);
Cette fonction renvoie le cosinus d'un angle en radians (type double).
2double sin(double);
Cette fonction renvoie le sinus d'un angle en radians (type double).
3double tan(double);
Cette fonction renvoie la tangente d'un angle en radians (type double).
4double log(double);
Cette fonction renvoie le logarithme népérien de l'argument.
5double pow(double, double);
En supposant que le premier argument est x et le second argument est y, cette fonction renvoie x élevé à la puissance y.
6double hypot(double, double);
Cette fonction renvoie la racine carrée de la somme des carrés de deux arguments ; autrement dit, si les arguments sont les deux côtés de l’angle droit d’un triangle rectangle, la fonction renvoie la longueur de l’hypoténuse.
7double sqrt(double);
Cette fonction renvoie la racine carrée de l’argument.
8int abs(int);
Cette fonction renvoie la valeur absolue de l’entier.
9double fabs(double);
Cette fonction renvoie la valeur absolue de tout nombre à virgule flottante.
10double floor(double);
Cette fonction renvoie le plus grand entier inférieur ou égal à l’argument passé.

Voici un exemple simple d'opérations mathématiques:

Exemple

#include <iostream> #include <cmath> using namespace std; int main () { // Définition du nombre short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // Opérations mathématiques cout << "sin(d) :" << sin(d) << endl; cout << "abs(i) :" << abs(i) << endl; cout << "floor(d) :" << floor(d) << endl; cout << "sqrt(f) :" << sqrt(f) << endl; cout << "pow( d, 2) :" << pow(d, 2) << endl; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

sin(d) :-0.634939
abs(i)  :1000
floor(d) :200
sqrt(f) :15.1812
pow( d, 2 ) :40149.7

Nombre aléatoire en C++

Dans de nombreux cas, des nombres aléatoires doivent être générés. Il existe deux fonctions associées au générateur de nombres aléatoires. L'une estrand(), cette fonction renvoie uniquement un nombre pseudo-aléatoire. Avant de générer un nombre aléatoire, vous devez appelersrand()fonction.

Voici un exemple simple de génération de nombres aléatoires. L'exemple utilise la fonctiontime()pour obtenir le nombre de secondes du temps système, et génère des nombres aléatoires en appelant la fonction rand() :

Exemple

#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main () { int i,j; // Définir la graine srand( (unsigned)time( NULL ) ); /*Générer 10 nombres aléatoires*/ for( i = 0; i < 10; i++ ) { // Générer les nombres aléatoires réels j= rand(); cout <<"Nombres aléatoires :" << j << endl; } return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

随机数: 1748144778
随机数: 630873888
随机数: 2134540646
随机数: 219404170
随机数: 902129458
随机数: 920445370
随机数: 1319072661
随机数: 257938873
随机数: 1256201101
随机数: 580322989

Constantes mathématiques en C++

En C++, les constantes mathématiques (telles que π, e, le nombre d'or, etc.) sont une partie indispensable de nombreux algorithmes et applications. Bien que les versions antérieures de C++ ne fournissaient pas directement ces constantes, à partir de C++20, la bibliothèque standard a introduit plusieurs constantes mathématiques couramment utilisées et a fourni un moyen plus efficace et unifié d'y accéder.

Pour plus d'informations, consultez :Bibliothèque standard C++<numbers>。

π

  • Constantes :std::numbers::pi
  • Type :std::float32_t(virgule flottante 32 bits),std::float64_t(virgule flottante 64 bits)

Exemple

#include <cmath>
#include <iostream>

int main() {
    std::cout << "pi: " << std::numbers::pi << std::endl;
}

La base du logarithme népérien e (nombre d'Euler)

  • Constantes :std::numbers::e
  • Type :std::float32_t、std::float64_t
std::cout << "e: " << std::numbers::e << std::endl;

Nombre d'or φ (nombre d'or)

  • Constantes :std::numbers::phi
  • Type :std::float32_t、std::float64_t
std::cout << "phi: " << std::numbers::phi << std::endl;

Exemple

#include <iostream>
#include <cmath>
#include <numbers>

int main() {
    std::cout << "pi: " << std::numbers::pi << std::endl;
    std::cout << "e: " << std::numbers::e << std::endl;
    std::cout << "phi: " << std::numbers::phi << std::endl;

    return 0;
}

Le résultat de sortie est:

pi: 3.14159
e: 2.71828
phi: 1.61803
autres extensions