Nombor C++


Biasanya, apabila kita perlu menggunakan nombor, kita menggunakan jenis data primitif, seperti int, pendek, panjang, terapung, berganda, dll. Jenis data untuk nombor ini, kemungkinan nilai dan julat nilainya, telah dibincangkan dalam bab Jenis Data C++.

C++ Mentakrifkan Nombor

Kami telah pun menentukan nombor dalam pelbagai keadaan dalam bab sebelumnya. Berikut ialah contoh komprehensif untuk mentakrifkan pelbagai jenis nombor dalam C++:

#include <iostream>
using namespace std;
 
int main ()
{
   // 数字定义
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // 数字赋值
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // 数字输出
   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;
}

Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:

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

C++ Operasi Matematik

Dalam C++, selain mencipta pelbagai fungsi, ia juga mengandungi pelbagai fungsi berguna untuk anda gunakan. Fungsi ini ditulis dalam perpustakaan C dan C++ standard dan dipanggil fungsi terbina dalam. Anda boleh merujuk fungsi ini dalam program anda.

C++ mempunyai set kaya dengan fungsi matematik terbina dalam yang boleh melaksanakan operasi pada pelbagai nombor. Jadual berikut menyenaraikan beberapa fungsi matematik terbina dalam yang berguna dalam C++.

Untuk memanfaatkan fungsi ini, anda perlu merujuk fail pengepala matematik <cmath>.

Nombor siriFungsi & Perihalan
1
序号函数 & 描述
1double cos(double);
该函数返回弧度角(double 型)的余弦。
2double sin(double);
该函数返回弧度角(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);
该函数返回一个小于或等于传入参数的最大整数。
double cos(double);<🎜>
Fungsi ini mengembalikan kosinus sudut radian (double type).
2<🎜>double sin(double);<🎜>
Fungsi ini mengembalikan sinus sudut dalam radian (double jenis).
3<🎜>double tan(double);<🎜>
Fungsi ini mengembalikan tangen sudut radian (double type ).
4<🎜>log berganda(double);<🎜>
Fungsi ini mengembalikan logaritma semula jadi parameter.
5<🎜>double pow(double, double);<🎜>
Anggapkan parameter pertama ialah x, kedua Jika parameter pertama ialah y, maka fungsi mengembalikan x dinaikkan kepada kuasa y.
6<🎜>double hypot(double, double);<🎜>
Fungsi ini mengembalikan jumlah kuasa dua bagi dua parameter Punca kuasa dua, iaitu, parameter ialah dua sisi bersudut tegak bagi segi tiga tepat, dan fungsi mengembalikan panjang hipotenus.
7<🎜>double sqrt(double);<🎜>
Fungsi ini mengembalikan punca kuasa dua parameter.
8<🎜>int abs(int);<🎜>
Fungsi ini mengembalikan nilai mutlak integer.
9<🎜>fab berganda(double);<🎜>
Fungsi ini mengembalikan nilai mutlak mana-mana nombor perpuluhan.
10<🎜>double floor(double);<🎜>
Fungsi ini mengembalikan nilai maksimum yang kurang daripada atau sama kepada integer parameter yang diluluskan.

Berikut ialah contoh mudah operasi matematik:

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

   // 数学运算
   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;
}

Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:

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

Nombor rawak C++

Dalam banyak kes, nombor rawak perlu dijana. Mengenai penjana nombor rawak, terdapat dua fungsi yang berkaitan. Satu ialah rand(), yang hanya mengembalikan nombor rawak pseudo. Fungsi srand() mesti dipanggil sebelum menjana nombor rawak.

Berikut ialah contoh mudah untuk menjana nombor rawak. Dalam contoh, fungsi time() digunakan untuk mendapatkan saat masa sistem, dan fungsi rand() dipanggil untuk menjana nombor rawak:

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

using namespace std;
 
int main ()
{
   int i,j;
 
   // 设置种子
   srand( (unsigned)time( NULL ) );

   /* 生成 10 个随机数 */
   for( i = 0; i < 10; i++ )
   {
      // 生成实际的随机数
      j= rand();
      cout <<"随机数: " << j << endl;
   }

   return 0;
}

Apabila kod di atas disusun dan dilaksanakan, Ia menghasilkan keputusan berikut:

随机数: 1748144778
随机数: 630873888
随机数: 2134540646
随机数: 219404170
随机数: 902129458
随机数: 920445370
随机数: 1319072661
随机数: 257938873
随机数: 1256201101
随机数: 580322989