Mục lục bài viết

Ngôn ngữ C++ cung cấp một số hàm toán học cơ bản để thực hiện các phép toán trên các biến số. Để sử dụng các hàm toán học này, các bạn phải khai báo thư viện <cmath>.

Lưu ý: Trong ngôn ngữ C thì sử dụng thư viện math.h

Hàm abs(x)

Trả về giá trị tuyệt đối của x.

cout<<abs(-2);//2

Hàm cbrt(x)

Trả về giá trị căn bậc ba của x.

cout<<cbrt(1000);//10

Hàm ceil(x)

Trả về số nguyên là giá trị làm tròn lên của x.

cout<<ceil(2.3);//3
cout<<ceil(2.8);//3

Hàm exp(x)

Trả về của ex.

cout<<exp(2);//7.38906

Hàm expm1(x)

Trả về giá trị của ex -1.

cout<<expm1(2);//6.38906

Hàm fabs(x)

Trả về giá trị tuyệt đối của số thực x.

cout<<fabs(-2.3);//2.3

Hàm floor(x)

Trả về số nguyên là giá trị làm tròn xuống của x.

cout<<floor(2.3);//2
cout<<floor(2.8);//2

Hàm fmax(x, y)

Trả về giá trị lớn nhất của số thực x và y.

cout<<fmax(2.1, 3.5);//3.5

Hàm fmin(x, y)

Trả về giá trị nhỏ nhất của số thực x và y.

cout<<fmin(2.1, 3.5);//2.1

Hàm fmod(x, y)

Trả về phần dư của phép chia số thực x/y.

cout<<fmod(15, 8);//7
cout<<fmod(15.8, 8.5);//7.3

Hàm log(x)

Trả về giá trị logarit cơ số e ln(x) của x.

cout<<log(2);//0.693147

Hàm pow(x, y)

Trả về giá trị của x lũy thừa y, tức là xy.

cout<<pow(2, 3);//8

Hàm round(2.6)

Trả về số nguyên là giá trị làm tròn lên của x nếu phần thập phân >= 5. Trả về số nguyên là giá trị làm tròn xuống nếu phần thập phân < 5.

cout<<round(2.3);//2
cout<<round (2.8);//3

Hàm sqrt(x)

Trả về giá trị căn bậc 2 của x.

cout<<sqrt(5);//2.23607

Hàm min và hàm max

Hai hàm này nằm trong không gian tên (namespace) std chứa thư viện chuẩn của C++.

Hàm max(x,y) sẽ tìm giá trị lớn nhất của x và y.

cout <<max(5, 10);//10

Hàm min(x,y) sẽ tìm giá trị nhỏ nhất của x và y.

cout <<min(5, 10);//5

Chương trình C++ minh họa các hàm toán học

#include <iostream>
#include <cmath>
using namespace std;

int main() 
{
	cout<<"abs(-2) = "<<abs(-2)<<endl;//2
	cout<<"cbrt(1000) = "<<cbrt(1000)<<endl;//10
	cout<<"ceil(2.3) = "<<ceil(2.3)<<endl;//3
	cout<<"ceil(2.8) = "<<ceil(2.8)<<endl;//3
	cout<<"exp(2) = "<<exp(2)<<endl;//7.38906
	cout<<"expm1(2) = "<<expm1(2)<<endl;//6.38906
	cout<<"fabs(-2.3) = "<<fabs(-2.3)<<endl;//2.3
	cout<<"floor(2.3) = "<<floor(2.3)<<endl;//2
	cout<<"floor(2.8) = "<<floor(2.8)<<endl;//2
	cout<<"fmax(2.1, 3.5) = "<<fmax(2.1, 3.5)<<endl;//3.5
	cout<<"fmin(2.1, 3.5) = "<<fmin(2.1, 3.5)<<endl;//2.1
	cout<<"fmod(15, 8) = "<<fmod(15, 8)<<endl;//7
	cout<<"log(2) = "<<log(2)<<endl;//0.693147
	cout<<"pow(2, 3) = "<<pow(2, 3)<<endl;//8
	cout<<"round(2.3) = "<<round(2.3)<<endl;//2
	cout<<"round (2.8) = "<<round (2.8)<<endl;//3
	cout<<"sqrt(5) = "<<sqrt(5)<<endl;//2.23607
	cout <<"max(5, 10) = "<<max(5, 10)<<endl;//10
	cout <<"min(5, 10) = "<<min(5, 10)<<endl;//5
	system("pause");
}
Kết quả
abs(-2) = 2
cbrt(1000) = 10
ceil(2.3) = 3
ceil(2.8) = 3
exp(2) = 7.38906
expm1(2) = 6.38906
fabs(-2.3) = 2.3
floor(2.3) = 2
floor(2.8) = 2
fmax(2.1, 3.5) = 3.5
fmin(2.1, 3.5) = 2.1
fmod(15, 8) = 7
log(2) = 0.693147
pow(2, 3) = 8
round(2.3) = 2
round (2.8) = 3
sqrt(5) = 2.23607
max(5, 10) = 10
min(5, 10) = 5

Ngoài những hàm toán học trên, thư viện <cmath> còn có một số hàm toán học khác. Các bạn có thể tham khảo ở website cplusplus.

Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Cấu trúc rẽ nhánh if else và minh họa với C++

Học tiếp