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

C++ Números

Por lo general, cuando necesitamos usar números, utilizamos tipos de datos primitivos, como int, short, long, float y double, etc. Estos tipos de datos para números, sus valores posibles y rangos numéricos, se han discutido en++ que se ha discutido en el capítulo sobre tipos de datos.

C++ Definición de números

Hemos definido números en varios ejemplos en capítulos anteriores. A continuación, se muestra un++ Ejemplo integral de definición de varios tipos de números en

#include <iostream>
using namespace std;
 
int main()
{
   // Definición de números
   short s;
   int i;
   long l;
   float f;
   double d;
   
   // Asignación de números
   s = 25;      
   i = 3000;    
   l = 5000000; 
   f = 530.57;  
   d = 50348.574;
   
   // Salida de números
   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;
}

Cuando el código superior se compila y ejecuta, producirá los siguientes resultados:

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

C++ Operaciones matemáticas

En C++ Además de poder crear varias funciones, contiene muchas funciones útiles para usar. Estas funciones se escriben en el estándar C y C++ La biblioteca, llamadaIntegradofunciones. Puede invocar estas funciones en su programa.

C++ Se incluyen una gran cantidad de funciones matemáticas, que pueden realizar operaciones con varios números. La siguiente tabla enumera las++ algunas funciones matemáticas integradas útiles.

Para utilizar estas funciones, debe incluir el archivo de encabezado matemático <cmath>.

Número de ordenFunción & Descripción
1double cos(double);
La función devuelve el coseno del ángulo en radianes (de tipo double).
2double sin(double);
La función devuelve el seno del ángulo en radianes (de tipo 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);
该函数返回一个小于或等于传入参数的最大整数。

A continuación, se muestra un ejemplo simple de operaciones matemáticas:

#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
   // Definición de números
   short s = 20;
   int i = -2000;
   long l = 200000;
   float f = 280.45;
   double d = 300.456;
 
   // Operaciones matemáticas
   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;
}

Cuando el código superior se compila y ejecuta, producirá los siguientes resultados:

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

C++ Números aleatorios

En muchos casos, es necesario generar números aleatorios. Respecto a los generadores de números aleatorios, hay dos funciones relacionadas. Una es rand()que solo devuelve un número pseudoaleatorio. Antes de generar un número aleatorio, debe llamar primero a srand() La función.

A continuación, se muestra un ejemplo simple de generación de números aleatorios. En este ejemplo se utiliza time() La función para obtener los segundos de la hora del sistema, generando números aleatorios mediante la función rand():

#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main()
{
   int i,j;
 
   // establecer semilla
   srand((unsigned)time(NULL));
 
   /* generar 8 número(s) aleatorio(s) */
   for(i = 0; i < 8; i++ )
   {
      // Generar números aleatorios reales
      j = rand();
      cout << "Número aleatorio: " << j << endl;
   }
 
   return 0;
}

Cuando el código superior se compila y ejecuta, producirá los siguientes resultados:

Número aleatorio: 21763
Número aleatorio: 15941
Número aleatorio: 846
Número aleatorio: 16376
Número aleatorio: 31767
Número aleatorio: 28949
Número aleatorio: 22265
Número aleatorio: 21475