Hình ảnh: Số ngẫu nhiên trong C++.
Khi làm việc với các giá trị số trong C++, chúng ta thường sử dụng các kiểu dữ liệu gốc như int
, short
, long
, float
, và double
. Nhưng bạn đã biết đầy đủ về các kiểu số và giá trị của chúng chưa? Trong bài viết này, chúng ta sẽ khám phá sâu hơn về kiểu dữ liệu số trong C++.
Định nghĩa kiểu dữ liệu số trong C++
C++ cung cấp nhiều kiểu số đa dạng. Đối với mỗi kiểu số, chúng ta có các giá trị và phạm vi giá trị khác nhau. Dưới đây là một ví dụ tổng hợp để định nghĩa các kiểu số đã đề cập trong C++:
#include <iostream> using namespace std; int main () { // Định nghĩa các kiểu số short s; int i; long l; float f; double d; // Gán giá trị cho các số s = 10; i = 1000; l = 1000000; f = 230.47; d = 30949.374; // In ra các số cout << "short s là: " << s << endl; cout << "int i là: " << i << endl; cout << "long l là: " << l << endl; cout << "float f là: " << f << endl; cout << "double d là: " << d << endl; return 0; }
Kết quả sau khi chạy chương trình trên sẽ là:
short s là: 10 int i là: 1000 long l là: 1000000 float f là: 230.47 double d là: 30949.4
Hàm toán học trong C++
Bên cạnh các hàm mà bạn có thể tự tạo, C++ cũng cung cấp một số hàm toán học hữu ích. Những hàm này đã được định nghĩa sẵn trong thư viện chuẩn của C và C++, gọi là "built-in". Đây là những hàm có thể được bao gồm trong chương trình của bạn và sử dụng ngay lập tức.
C++ cung cấp một loạt các hàm toán học, có thể áp dụng trên các kiểu số khác nhau. Dưới đây là một số hàm toán học hữu ích trong C++:
STT | Hàm | Mục đích |
---|---|---|
1 | double cos(double); | Trả về dấu cosin của một góc (dưới dạng một số double) |
2 | double sin(double); | Trả về dấu sin của một góc (dưới dạng một số double) |
3 | double tan(double); | Trả về dấu tan của một góc (dưới dạng một số double) |
4 | double log(double); | Trả về logarit tự nhiên (ln) của số đó |
5 | double pow(double, double); | Trả về kết quả của việc số double đầu tiên được nhân với số double thứ hai |
6 | double hypot(double, double); | Trả về chiều dài của cạnh huyền của tam giác dựa trên chiều dài hai cạnh góc vuông |
7 | double sqrt(double); | Trả về căn bậc hai của số double |
8 | int abs(int); | Trả về giá trị tuyệt đối của số nguyên int |
9 | double fabs(double); | Trả về giá trị tuyệt đối của số double |
10 | double floor(double); | Tìm giá trị số nguyên không vượt quá tham số truyền vào |
Để sử dụng các hàm này, bạn cần bao gói cmath
trong chương trình của mình.
Ví dụ dưới đây minh họa một số hàm toán học trong C++:
#include <iostream> #include <cmath> using namespace std; int main () { // Định nghĩa các số short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // Các hoạt động toán học cout << "sin(d) có giá trị là: " << sin(d) << endl; cout << "abs(i) có giá trị là: " << abs(i) << endl; cout << "floor(d) có giá trị là: " << floor(d) << endl; cout << "sqrt(f) có giá trị là: " << sqrt(f) << endl; cout << "pow(d, 2) có giá trị là: " << pow(d, 2) << endl; return 0; }
Kết quả sau khi chạy chương trình trên sẽ là:
sin(d) có giá trị là: 0.917851 abs(i) có giá trị là: 1000 floor(d) có giá trị là: 200 sqrt(f) có giá trị là: 15.1696 pow(d, 2) có giá trị là: 41748.9
Số ngẫu nhiên trong C++
Trong một số trường hợp, bạn có thể muốn tạo ra một số ngẫu nhiên. 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>
. Hàm này trả về một số ngẫu nhiên giả mạo, có thể không thay đổi qua các lần chạy chương trình. Để khắc phục vấn đề này, chúng ta sẽ sử dụng hàm srand()
trong thư viện <ctime>
.
Ví dụ dưới đây sẽ tạo vài số ngẫu nhiên trong C++. Ví dụ này sử dụng hàm time()
để lấy giá trị thời gian trong hệ thống của bạn. Giá trị trả về từ time
được truyền vào hàm srand
, đảm bảo các 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 ) ); // Tạo 10 số ngẫu nhiên for( i = 0; i < 10; i++ ) { j = rand(); cout << "Số ngẫu nhiên là: " << j << endl; } return 0; }
Kết quả sau khi chạy chương trình trên sẽ là:
Số ngẫu nhiên là: 1804289383 Số ngẫu nhiên là: 846930886 Số ngẫu nhiên là: 1681692777 Số ngẫu nhiên là: 1714636915 Số ngẫu nhiên là: 1957747793 Số ngẫu nhiên là: 424238335 Số ngẫu nhiên là: 719885386 Số ngẫu nhiên là: 1649760492 Số ngẫu nhiên là: 596516649 Số ngẫu nhiên là: 1189641421
Vậy là chúng ta đã tìm hiểu về kiểu dữ liệu số trong C++, các hàm toán học và cách tạo số ngẫu nhiên. Hãy thực hành và cải thiện kỹ năng lập trình của bạn nhé!