C++ Números
Normalmente, cuando necesitamos usar números, utilizamos los tipos de datos primitivos, como int, short, long, float y double, etc. Los posibles valores y rangos numéricos de estos tipos de datos para números ya los hemos discutido en el capítulo de Tipos de datos de C++.
C++ Definir números
Ya hemos definido números en varios ejemplos de capítulos anteriores. A continuación se muestra un ejemplo completo de cómo definir varios tipos de números en C++:
Ejemplo
Cuando el código anterior se compila y se ejecuta, produce el siguiente resultado:
short s :10 int i :1000 long l :1000000 float f :230.47 double d :30949.4
C++ Operaciones matemáticas
En C++, además de poder crear varias funciones, también se incluyen varias funciones útiles para que usted las use. Estas funciones están escritas en las bibliotecas estándar de C y C++, y se denominanintegradasfunciones. Puede hacer referencia a estas funciones en su programa.
C++ incorpora una gran variedad de funciones matemáticas integradas que pueden operar sobre varios números. La siguiente tabla enumera algunas funciones matemáticas integradas útiles en C++.
Para utilizar estas funciones, necesita incluir el archivo de cabecera matemático<cmath>。
| N.º | Función y descripción |
|---|---|
| 1 | double cos(double); Esta función devuelve el coseno de un ángulo en radianes (tipo double). |
| 2 | double sin(double); Esta función devuelve el seno de un ángulo en radianes (tipo double). |
| 3 | double tan(double); Esta función devuelve la tangente de un ángulo en radianes (tipo double). |
| 4 | double log(double); Esta función devuelve el logaritmo natural del parámetro. |
| 5 | double pow(double, double); Suponiendo que el primer parámetro es x y el segundo es y, esta función devuelve x elevado a la potencia y. |
| 6 | double hypot(double, double); Esta función devuelve la raíz cuadrada de la suma de los cuadrados de dos parámetros; es decir, si los parámetros son los dos catetos de un triángulo rectángulo, la función devuelve la longitud de la hipotenusa. |
| 7 | double sqrt(double); Esta función devuelve la raíz cuadrada del parámetro. |
| 8 | int abs(int); Esta función devuelve el valor absoluto de un entero. |
| 9 | double fabs(double); Esta función devuelve el valor absoluto de cualquier número de punto flotante. |
| 10 | double floor(double); Esta función devuelve el mayor entero menor o igual que el argumento pasado. |
A continuación se muestra un ejemplo sencillo sobre operaciones matemáticas:
Ejemplo
Cuando el código anterior se compila y se ejecuta, produce el siguiente resultado:
sin(d) :-0.634939 abs(i) :1000 floor(d) :200 sqrt(f) :15.1812 pow( d, 2 ) :40149.7
C++ Números aleatorios
En muchos casos, es necesario generar números aleatorios. Con respecto al generador de números aleatorios, hay dos funciones relacionadas. Una esrand(), esta función solo devuelve un número pseudoaleatorio. Antes de generar números aleatorios, primero debe llamar asrand()función.
A continuación se muestra un ejemplo sencillo de generación de números aleatorios. En el ejemplo se utilizatime()la función para obtener los segundos de la hora del sistema, y mediante la llamada a la función rand() se generan números aleatorios:
Ejemplo
Cuando el código anterior se compila y se ejecuta, produce el siguiente resultado:
随机数: 1748144778 随机数: 630873888 随机数: 2134540646 随机数: 219404170 随机数: 902129458 随机数: 920445370 随机数: 1319072661 随机数: 257938873 随机数: 1256201101 随机数: 580322989
C++ Constantes matemáticas
En C++, las constantes matemáticas (como π, e, la proporción áurea, etc.) son una parte indispensable de muchos algoritmos y aplicaciones. Aunque las primeras versiones de C++ no proporcionaban directamente estas constantes, a partir de C++20, la biblioteca estándar introdujo varias constantes matemáticas de uso común y proporcionó una forma más eficiente y unificada de acceder a ellas.
Para más información, consulte:Biblioteca estándar de C++<numbers>。
π
- Constante:
std::numbers::pi - Tipo:
std::float32_t(flotante de 32 bits),std::float64_t(flotante de 64 bits)
Ejemplo
#include <iostream>
int main() {
std::cout << "pi: " << std::numbers::pi << std::endl;
}
La base del logaritmo natural e (Número de Euler)
- Constante:
std::numbers::e - Tipo:
std::float32_t、std::float64_t
std::cout << "e: " << std::numbers::e << std::endl;
La proporción áurea φ (Golden Ratio)
- Constante:
std::numbers::phi - Tipo:
std::float32_t、std::float64_t
std::cout << "phi: " << std::numbers::phi << std::endl;
Ejemplo
#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;
}
El resultado de salida es:
pi: 3.14159 e: 2.71828 phi: 1.61803Otras extensiones