Unetway

C++ - Числа

Обычно, когда мы работаем с числами, мы используем примитивные типы данных, такие как int, short, long, float и double и т. д. Количество типов данных данных, их возможные значения и диапазоны чисел были объяснены при обсуждении типов данных C ++.

Определение номеров в C ++

Вы уже определили числа в различных примерах, приведенных в предыдущих главах. Вот еще один объединенный пример для определения различных типов чисел в C ++ -

#include <iostream>
using namespace std;
 
int main () {
   // number definition:
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // number assignments;
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // number printing;
   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;
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

short  s :10
int    i :1000
long   l :1000000
float  f :230.47
double d :30949.4

Математические операции на C ++

В дополнение к различным функциям, которые вы можете создать, C ++ также содержит некоторые полезные функции, которые вы можете использовать. Эти функции доступны в стандартных библиотеках C и C ++ и называются built-in (встроенными) функциями. Это функции, которые могут быть включены в вашу программу, а затем использовать.

C ++ имеет богатый набор математических операций, которые могут выполняться на разных номерах. В следующих таблицах перечислены некоторые полезные встроенные математические функции, доступные на C ++.

Чтобы использовать эти функции, вам нужно включить файл заголовка math <cmath> .

double cos(double); Эта функция принимает угол (как двойной) и возвращает косинус.
double sin(double); Эта функция принимает угол (как двойной) и возвращает синус.
double tan(double); Эта функция принимает угол (как двойной) и возвращает касательную.
double log(double); Эта функция принимает число и возвращает натуральный журнал этого числа.
double pow(double, double); Первый - это номер, который вы хотите поднять, а второй - мощность, которую вы хотите поднять.
double hypot(double, double); Если вы передадите этой функции длину двух сторон правого треугольника, она вернет вам длину гипотенузы.
double sqrt(double); Вы передаете этой функции число, и оно дает квадратный корень.
int abs(int); Эта функция возвращает абсолютное значение целого числа, которое передается ему.
double fabs(double); Эта функция возвращает абсолютное значение любого десятичного числа, переданного ему.
double floor(double); Находит целое число, которое меньше или равно аргументу, переданному ему.

Ниже приведен простой пример, чтобы показать несколько математических операций:

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

   // mathematical operations;
   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;
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

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

Случайные числа в C ++

Есть много случаев, когда вы захотите создать случайное число. На самом деле есть две функции, которые вам нужно знать о генерации случайных чисел. Первый - это rand () , эта функция вернет только псевдослучайное число. Способ исправить это - сначала вызвать функцию srand () .

Ниже приведен простой пример для генерации нескольких случайных чисел. В этом примере используется функция time (), чтобы получить количество секунд в системном времени, чтобы случайно распределить функцию rand ()

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

using namespace std;
 
int main () {
   int i,j;
 
   // set the seed
   srand( (unsigned)time( NULL ) );

   /* generate 10  random numbers. */
   for( i = 0; i < 10; i++ ) {
      // generate actual random number
      j = rand();
      cout <<" Random Number : " << j << endl;
   }

   return 0;
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

Random Number : 1748144778
Random Number : 630873888
Random Number : 2134540646
Random Number : 219404170
Random Number : 902129458
Random Number : 920445370
Random Number : 1319072661
Random Number : 257938873
Random Number : 1256201101
Random Number : 580322989