English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base C++

Controllo di flusso C++

Funzione C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatore C++

Ereditarietà C++

Corso di base STL C++

Manuale di riferimento C++

Numeri C++

Di solito, quando dobbiamo utilizzare numeri, utilizziamo i tipi di dati originali, come int, short, long, float e double, ecc. Questi tipi di dati utilizzati per i numeri, i loro valori possibili e l'intervallo numerico, sono stati discussi nella sezione sui tipi di dati C++.

Definizione numerica C++

Abbiamo definito i numeri in vari esempi precedenti. Ecco un esempio complessivo di definizione di vari tipi di numeri in C++:

#include <iostream>
using namespace std;
 
int main ()
{
   // Definizione numerica
   short s;
   int i;
   long l;
   float f;
   double d;
   
   // Assegnazione numerica
   s = 25;      
   i = 3000;    
   l = 5000000; 
   f = 530.57;  
   d = 50348.574;
   
   // Output numerico
   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;
}

Quando il codice sopra viene compilato ed eseguito, produrrà i seguenti risultati:

short s : 25
int i : 3000
long l : 5000000
float f : 530.57
double d : 50348.6

Operazioni matematiche C++

Oltre a creare vari tipi di funzioni, C++ include anche una varietà di funzioni utili che puoi utilizzare. Queste funzioni sono scritte nelle librerie standard di C e C++, e sono chiamateIntegratoFunzione. Puoi riferirti a queste funzioni nel tuo programma.

Le funzioni matematiche integrate in C++ possono eseguire operazioni su vari numeri. La tabella seguente elenca alcune delle funzioni matematiche integrate utili in C++.

Per utilizzare queste funzioni, è necessario includere il file di intestazione matematico. <cmath>.

Numero di sequenzaFunzione & Descrizione
1double cos(double);
La funzione restituisce il coseno dell'angolo in radianti (double tipo).
2double sin(double);
La funzione restituisce la seno dell'angolo in radianti (double tipo).
3double tan(double);
La funzione restituisce la tangente dell'angolo in radianti (double tipo).
4double log(double);
La funzione restituisce il logaritmo naturale dei parametri.
5double pow(double, double);
Supponiamo che il primo parametro sia x e il secondo parametro sia y, allora la funzione restituisce la potenza di x elevata a y.
6double hypot(double, double);
La funzione restituisce la radice quadrata della somma dei quadrati di due parametri, ossia, i parametri sono i due lati di un triangolo rettangolo, la funzione restituisce la lunghezza del lato opposto.
7double sqrt(double);
La funzione restituisce la radice quadrata del parametro.
8int abs(int);
La funzione restituisce l'assoluto di un intero.
9double fabs(double);
La funzione restituisce l'assoluto di un numero a virgola mobile.
10double floor(double);
La funzione restituisce l'intero massimo inferiore o uguale al parametro传入参数的最大整数。

Di seguito è riportato un esempio semplice di operazioni matematiche:

#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
   // Definizione numerica
   short  s = 20;
   int    i = -2000;
   long   l = 200000;
   float  f = 280.45;
   double d = 300.456;
 
   // Operazioni matematiche
   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;
}

Quando il codice sopra viene compilato ed eseguito, produrrà i seguenti risultati:

sin(d) :-0.907332
abs(i)  :2000
floor(d) :300
sqrt(f) :16.7466
pow( d, 2) :90273.8

Numeri casuali C++

In molti casi, è necessario generare numeri casuali. Riguardo ai generatori di numeri casuali, ci sono due funzioni correlate. Una è rand()che restituisce solo un numero casuale pseudo. Prima di generare un numero casuale è necessario chiamare srand() funzione.

Di seguito è riportato un esempio semplice di generazione di numeri casuali. Nell'esempio sono state utilizzate time() La funzione per ottenere i secondi del tempo di sistema, generando numeri casuali tramite la funzione rand():

#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main ()
{
   int i,j;
 
   // 设置种子
   srand((unsigned)time(NULL));
 
   /* Generare 8 numeri casuali */
   for(i = 0; i < 8; i++)
   {
      // Generare un numero casuale reale
      j = rand();
      cout << "Numero casuale: " << j << endl;
   }
 
   return 0;
}

Quando il codice sopra viene compilato ed eseguito, produrrà i seguenti risultati:

Numero casuale: 21763
Numero casuale: 15941
Numero casuale: 846
Numero casuale: 16376
Numero casuale: 31767
Numero casuale: 28949
Numero casuale: 22265
Numero casuale: 21475