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++ 库中可用,称为**内置**函数。这些是可以包含在您的程序中然后使用的函数。

C++ 有一套丰富的数学运算,可以对各种数字执行这些运算。下表列出了一些 C++ 中可用的有用的内置数学函数。

要使用这些函数,您需要包含数学头文件**``**。

序号 函数及用途
1

double cos(double);

此函数接受一个角度(作为双精度数)并返回余弦值。

2

double sin(double);

此函数接受一个角度(作为双精度数)并返回正弦值。

3

double tan(double);

此函数接受一个角度(作为双精度数)并返回正切值。

4

double log(double);

此函数接受一个数字并返回该数字的自然对数。

5

double pow(double, double);

第一个是您要提升的数字,第二个是您要提升它的幂

6

double hypot(double, double);

如果您将直角三角形的两条边的长度传递给此函数,它将返回斜边的长度。

7

double sqrt(double);

您将一个数字传递给此函数,它会为您提供平方根。

8

int abs(int);

此函数返回传递给它的整数的绝对值。

9

double fabs(double);

此函数返回传递给它的任何十进制数的绝对值。

10

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
广告