C++: Bài 26. Xử lý số

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Thông thường khi ta làm việc với số thì ta sử dụng các kiểu dữ liệu nguyên thủy như int, short, long, float và double, v.v. Các kiểu dữ liệu số, giá trị có thể có và phạm vi số đã được giải thích trong bài viết Kiểu dữ liệu.

Định nghĩa số trong C++

Dưới đây là một ví dụ tổng hợp định nghĩa các loại số khác nhau trong C++:

#include<iostream>
using namespace std;

main() {
  // đnh nghĩa các biến kiu s:
  short  s;
  int    i;
  long   l;
  float  f;
  double d;

  // gán giá tr cho các biến
  s = 10;
  i = 1000;
  l = 1000000;
  f = 230.47;
  d = 30949.374;

  // in ra các giá tr lưu trong các biến:
  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;
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

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

Các hàm xử lý số trong C++

C++ có khá nhiều hàm xử lý số hữu ích. Các hàm này có sẵn trong các thư viện C và C++ tiêu chuẩn và được gọi là các hàm dựng sẵn (built-in).

Dưới đây ta sẽ tìm hiểu một số hàm toán học hữu ích có sẵn trong C++.

Lưu ý: Để sử dụng các hàm này, bạn cần khai báo tệp tiêu đề toán học <cmath>.

double cos()

Hàm này dùng để tính cos (cosin) của một góc theo đơn vị radian.

Ví dụ:

cout<<cos(3.14); //Kết quả: -0.999999

cout<<cos(0); //Kết quả: 1

double sin()

Hàm này dùng để tính sin của một góc theo đơn vị radian.

Ví dụ:

cout<<sin(3.14/2); //Kết quả: 1

cout<<sin(0); //Kết quả: 0

double tan()

Hàm này dùng để tính tan của một góc theo đơn vị radian.

Ví dụ:

cout<<tan(3.14/4); //Kết quả: 0.999204

cout<<tan(0); //Kết quả: 0

double log()

Hàm này dùng để tính loga tự nhiên của một số.

Ví dụ:

cout<<log(2.7); //Kết quả: 0.993252

cout<<log(0); //Kết quả: -inf

double pow(n,m)

Hàm này dùng để tính lũy thừa n mũ m.

Ví dụ:

cout<<pow(5,2); //Kết quả: 25

cout<<pow(2,5); //Kết quả: 32

double hypot(cạnh_góc_vuông_1,cạnh_góc_vuông_2)

Hàm này dùng để tính lũy thừa n mũ m.

Ví dụ:

cout<<hypot(3,4); //Kết quả: 5

cout<<hypot(6,8); //Kết quả: 10

double sqrt()

Hàm này dùng để tính căn bậc 2 của một số.

Ví dụ:

cout<<sqrt(4); //Kết quả: 2

cout<<sqrt(100; //Kết quả: 10

abs() và fabs()

Các hàm này dùng để lấy trị tuyệt đối của một số.

Ví dụ:

cout<<abs(-7.5); //Kết quả: 7.5

cout<<fabs(-10); //Kết quả: 10

double floor(number)

Hàm này dùng để lấy giá trị nguyên nhỏ hơn hoặc bằng number.

Ví dụ:

cout<<floor(-7.5); //Kết quả: -8

cout<<floor(7.5); //Kết quả: 7

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

Có hai hàm ta có thể dùng để tạo số ngẫu nhiên. Đầu tiên là hàm rand(), hàm này sẽ chỉ trả về một số ngẫu nhiên giả. Cách để khắc phục điều này trước tiên là gọi hàm srand().

Sau đây là một ví dụ đơn giản để tạo ra một vài số ngẫu nhiên. Ví dụ này sử dụng hàm time() để lấy số giây trên thời gian hệ thống của bạn, sau đó ta dùng giá trị này để tạo ngẫu nhiên với hàm rand(). 

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

using namespace std;

main(){
int i, j;

// thiết lp seed
srand((unsigned)time(NULL));

/* to ra 10 s ngu nhiên. */
for(i = 0 ; i < 10 ; i++){
// to s ngu nhiên thc tế
j = rand();
cout << "So ngau nhien: " << j << endl;
}

return 0;
}

Khi đoạn mã trên được biên dịch và thực thi thì nó sẽ tạo ra kết quả dạng sau:

So ngau nhien: 17481
So ngau nhien: 2111
So ngau nhien: 22996
So ngau nhien: 18409
So ngau nhien: 18206
So ngau nhien: 22353
So ngau nhien: 32434
So ngau nhien: 15439
So ngau nhien: 29997
So ngau nhien: 3750
So ngau nhien: 27252
» Tiếp: Bài 27. Date và Time
« Trước: Bài 25. Cấp phát vùng nhớ
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!