Numéros C++


Habituellement, lorsque nous avons besoin d'utiliser des nombres, nous utilisons des types de données primitifs, tels que int, short, long, float, double, etc. Ces types de données pour les nombres, leurs valeurs possibles et plages de valeurs, ont été abordés dans le chapitre Types de données C++.

Définition des nombres en C++

Nous avons déjà défini des nombres dans diverses instances dans les chapitres précédents. Voici un exemple complet de définition de différents types de nombres en C++ :

#include <iostream>
using namespace std;
 
int main ()
{
   // 数字定义
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // 数字赋值
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // 数字输出
   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 C++

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

C++ possède un riche ensemble de fonctions mathématiques intégrées qui peuvent effectuer des opérations sur différents nombres. Le tableau suivant répertorie quelques fonctions mathématiques intégrées utiles en C++.

Pour profiter de ces fonctions, vous devez référencer le fichier d'en-tête mathématique <cmath>.

Numéro de sérieFonction et description
1
序号函数 & 描述
1double cos(double);
该函数返回弧度角(double 型)的余弦。
2double sin(double);
该函数返回弧度角(double 型)的正弦。
3double tan(double);
该函数返回弧度角(double 型)的正切。
4double log(double);
该函数返回参数的自然对数。
5double pow(double, double);
假设第一个参数为 x,第二个参数为 y,则该函数返回 x 的 y 次方。
6double hypot(double, double);
该函数返回两个参数的平方总和的平方根,也就是说,参数为一个直角三角形的两个直角边,函数会返回斜边的长度。
7double sqrt(double);
该函数返回参数的平方根。
8int abs(int);
该函数返回整数的绝对值。
9double fabs(double);
该函数返回任意一个十进制数的绝对值。
10double floor(double);
该函数返回一个小于或等于传入参数的最大整数。
double cos(double);<🎜>
Cette fonction renvoie le cosinus de l'angle radian (type double).
2<🎜>double sin(double);<🎜>
Cette fonction renvoie le sinus de l'angle en radians (double taper).
3<🎜>double tan(double);<🎜>
Cette fonction renvoie la tangente de l'angle radian (type double ).
4<🎜>double log(double);<🎜>
Cette fonction renvoie le logarithme népérien du paramètre.
5<🎜>double pow(double, double);<🎜>
Supposons que le premier paramètre soit x, le second If le premier paramètre est y, puis la fonction renvoie x élevé à la puissance y.
6<🎜>double hypot(double, double);<🎜>
Cette fonction renvoie la somme des carrés des deux paramètres Racine carrée, c'est-à-dire que les paramètres sont deux côtés rectangles d'un triangle rectangle et que la fonction renvoie la longueur de l'hypoténuse.
7<🎜>double sqrt(double);<🎜>
Cette fonction renvoie la racine carrée du paramètre.
8<🎜>int abs(int);<🎜>
Cette fonction renvoie la valeur absolue d'un entier.
9<🎜>double fabs(double);<🎜>
Cette fonction renvoie la valeur absolue de n'importe quel nombre décimal.
10<🎜>double étage(double);<🎜>
Cette fonction renvoie une valeur maximale inférieure ou égale à l'entier passé en paramètre.

Voici un exemple simple d'opération mathématique :

#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
   // 数字定义
   short  s = 10;
   int    i = -1000;
   long   l = 100000;
   float  f = 230.47;
   double d = 200.374;

   // 数学运算
   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 produira les résultats suivants :

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

Nombre aléatoire C++

Dans de nombreux cas, des nombres aléatoires doivent être générés. Concernant les générateurs de nombres aléatoires, il existe deux fonctions liées. L'un est rand(), qui renvoie uniquement un nombre pseudo-aléatoire. La fonction srand() doit être appelée avant de générer des nombres aléatoires.

Ce qui suit est un exemple simple de génération de nombres aléatoires. Dans l'exemple, la fonction time() est utilisée pour obtenir les secondes de l'heure système, et la fonction rand() est appelée pour générer des nombres aléatoires :

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;
 
int main ()
{
   int i,j;
 
   // 设置种子
   srand( (unsigned)time( NULL ) );

   /* 生成 10 个随机数 */
   for( i = 0; i < 10; i++ )
   {
      // 生成实际的随机数
      j= rand();
      cout <<"随机数: " << 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