Thư Viện Cmath Và Một Số Hàm Toán Học Thông Dụng Trong C++

Đây là bài 14/43 bài của series môn học Nhập môn lập trình

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.

  • Chuyển đổi chuỗi (string) thành mảng (array) với hàm str_split() trong PHP
  • Xóa (delete) dữ liệu trong MySQL với PHP
  • Biến toàn cục và biến cục bộ trong chương trình
  • Các trình biên dịch C++ phổ biến
  • Các loại ngoại lệ (exceptions) trong Java
5/5 - (3 bình chọn)Bài trước và bài sau trong môn học<< Biểu thức và thứ tự ưu tiên của các toán tử trong biểu thứcCấu trúc rẽ nhánh if else và minh họa với C++ >>Chia sẻ trên mạng xã hội:C/C++ programming

Từ khóa » Thư Viện Cmath Và Math.h