Number trong C++



Thông thường, khi chúng ta làm việc với Number (các kiểu giá trị số), chúng ta sử dụng các kiểu dữ liệu gốc như int, short, long, float và double, …. Các kiểu dữ liệu số, về giá trị có thể và dãy giá trị của chúng, đã được bàn luận trong chương Kiểu dữ liệu trong C++.

Định nghĩa Number trong C++

Bạn đã thấy định nghĩa các số trong các ví dụ đa dạng ở các chương trước. Dưới đây là một ví dụ tổng hợp để định nghĩa các kiểu số đa dạng trong C++:

#include <iostream>
using namespace std;
 
int main ()
{
   // phan dinh nghia cac so:
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // phep gan cho cac so;
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // in cac so;
   cout << "short  s la: " << s << endl;
   cout << "int    i la: " << i << endl;
   cout << "long   l la: " << l << endl;
   cout << "float  f la: " << f << endl;
   cout << "double d la: " << d << endl;
 
   return 0;
}
Quảng cáo

Khi code trên được biên dịch và thực thi, nó cho kết quả sau:

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

Hàm toán học trong C++

Bên cạnh các hàm đa dạng bạn có thể tạo, C++ cũng bao gồm một số hàm toán học hữu ích cho bạn sử dụng. Những hàm này có sẵn trong các thư viện C và C++ chuẩn, và được gọi là các hàm built-in. Đây là các hàm mà có thể được bao trong chương trình của bạn và sau đó sử dụng.

C++ có một tập hợp hàm toán học đa dạng, có thể được thực hiện trên các kiểu số khác nhau. Bảng dưới liệt kê một số hàm toán học có sẵn hữu ích trong C++.

Để sử dụng các hàm này, bạn cần bao header file là <cmath>.

STT Hàm & Mục đích
1 double cos(double);

Hàm này trả về cosin của một góc (dạng một double)

2 double sin(double);

Hàm này trả về sin của một góc (dạng một double)

3 double tan(double);

Hàm này trả về tang của một góc (dạng một double)

4 double log(double);

Hàm này trả về logarit tự nhiên (ln) của số đó

5 double pow(double, double);

Hàm mũ với cơ số là số double đầu tiên và số mũ là double thứ hai

6 double hypot(double, double);

Nếu bạn truyền độ dài của hai cạnh của tam giác (lần lượt là các số double), nó sẽ trả về độ dài cạnh huyền

7 double sqrt(double);

Trả về căn bậc hai của số double

8 int abs(int);

Trả về trị tuyệt đối của int

9 double fabs(double);

Trả về trị tuyệt đối của bất kỳ số double nào

10 double floor(double);

Tìm số integer mà nhỏ hơn hoặc bằng tham số đã truyền cho nó

Quảng cáo

Ví dụ sau minh họa một số hàm toán học trong C++:

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

   // cac hoat dong toan hoc;
   cout << "sin(d)     co gia tri la: " << sin(d) << endl;
   cout << "abs(i)     co gia tri la: " << abs(i) << endl;
   cout << "floor(d)   co gia tri la: " << floor(d) << endl;
   cout << "sqrt(f)    co gia tri la: " << sqrt(f) << endl;
   cout << "pow( d, 2) co gia tri la: " << pow(d, 2) << endl;
 
   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Hàm toán học trong C++
Quảng cáo

Số ngẫu nhiên (Random Number) trong C++

Trong một số trường hợp, bạn muốn tạo một số ngẫu nhiên (random number). Có hai hàm có thể giúp bạn thực hiện việc này. Hàm đầu tiên là rand() được định nghĩa trong thư viện <cstdlib>: sẽ chỉ trả về một số ngẫu nhiên giả, mà có thể không thay đổi qua các lần chạy chương trình. Để giải quyết điểm bất thường này, chúng ta sẽ sử dụng hàm srand() trong thư viện <ctime>.

Ví dụ sau sẽ tạo vài số ngẫu nhiên trong C++. Ví dụ có sử dụng hàm time() để lấy số giây trên System time của bạn. Giá trị trả về từ time là qua scrand, bạn lưu ý là số ngẫu nhiên được tạo ra trước lời gọi rand.

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

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

   /* tao 10 so ngau nhien. */
   for( i = 0; i < 10; i++ )
   {
      
      j= rand();
      cout <<" So ngau nhien la : " << j << endl;
   }

   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Số ngẫu nhiên trong C++

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.




Tài liệu giáo viên