C++ Цифры
Обычно, когда нам нужно использовать числа, мы используем примитивные типы данных, такие как int, short, long, float и double и т. д. Мы уже обсуждали возможные значения и диапазоны этих типов данных для чисел в главе «Типы данных C++».
Определение чисел в C++
Мы уже определяли числа в различных примерах в предыдущих главах. Ниже приведён комплексный пример определения различных типов чисел в C++:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
short s :10 int i :1000 long l :1000000 float f :230.47 double d :30949.4
Математические операции в C++
В C++ помимо создания различных функций также включены различные полезные функции, которые вы можете использовать. Эти функции написаны в стандартных библиотеках C и C++, называютсявстроеннымифункциями. Вы можете ссылаться на эти функции в своей программе.
C++ имеет богатый набор встроенных математических функций, которые могут работать с различными числами. В следующей таблице перечислены некоторые полезные встроенные математические функции в C++.
Чтобы использовать эти функции, вам нужно подключить заголовочный файл математических функций<cmath>。
| Порядковый номер | Функция и описание |
|---|---|
| 1 | double cos(double); Эта функция возвращает косинус угла в радианах (тип double). |
| 2 | double sin(double); Эта функция возвращает синус угла в радианах (тип double). |
| 3 | double tan(double); Эта функция возвращает тангенс угла в радианах (тип double). |
| 4 | double log(double); Эта функция возвращает натуральный логарифм аргумента. |
| 5 | double pow(double, double); Если предположить, что первый аргумент — x, а второй аргумент — y, эта функция возвращает x, возведённый в степень y. |
| 6 | double hypot(double, double); Эта функция возвращает квадратный корень из суммы квадратов двух аргументов; то есть, если аргументы — это два катета прямоугольного треугольника, функция возвращает длину гипотенузы. |
| 7 | double sqrt(double); Эта функция возвращает квадратный корень из аргумента. |
| 8 | int abs(int); Эта функция возвращает абсолютное значение целого числа. |
| 9 | double fabs(double); Эта функция возвращает абсолютное значение любого числа с плавающей запятой. |
| 10 | double floor(double); Эта функция возвращает наибольшее целое число, меньшее или равное переданному аргументу. |
Ниже приведён простой пример математических операций:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
sin(d) :-0.634939 abs(i) :1000 floor(d) :200 sqrt(f) :15.1812 pow( d, 2 ) :40149.7
Случайные числа в C++
Во многих случаях необходимо генерировать случайные числа. Для генератора случайных чисел есть две связанные функции. Одна —rand(), эта функция возвращает только псевдослучайное число. Перед генерацией случайного числа необходимо вызватьsrand()функцию.
Ниже приведён простой пример генерации случайных чисел. В примере используется функцияtime()для получения количества секунд системного времени, а случайные числа генерируются вызовом функции rand():
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
随机数: 1748144778 随机数: 630873888 随机数: 2134540646 随机数: 219404170 随机数: 902129458 随机数: 920445370 随机数: 1319072661 随机数: 257938873 随机数: 1256201101 随机数: 580322989
Математические константы C++
В C++ математические константы (такие как π, e, золотое сечение и т. д.) являются неотъемлемой частью многих алгоритмов и приложений. Хотя более ранние версии C++ не предоставляли эти константы напрямую, начиная с C++20 стандартная библиотека ввела несколько часто используемых математических констант и предоставила более эффективный и унифицированный способ доступа к ним.
Для получения дополнительной информации см.:Стандартная библиотека C++<numbers>。
π
- Константы:
std::numbers::pi - Тип:
std::float32_t(32-битное число с плавающей запятой),std::float64_t(64-битное число с плавающей запятой)
Пример
#include <iostream>
int main() {
std::cout << "pi: " << std::numbers::pi << std::endl;
}
Основание натурального логарифма e (число Эйлера)
- Константы:
std::numbers::e - Тип:
std::float32_t、std::float64_t
std::cout << "e: " << std::numbers::e << std::endl;
Золотое сечение φ (золотая пропорция)
- Константы:
std::numbers::phi - Тип:
std::float32_t、std::float64_t
std::cout << "phi: " << std::numbers::phi << std::endl;
Пример
#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;
}
Результат вывода:
pi: 3.14159 e: 2.71828 phi: 1.61803Другие расширения