Toán tử số học trong C++ | Laptrinhcanban.com

Toán tử số học trong C++

Cùng tìm hiểu về toán tử số học trong C++. Bạn sẽ biết các loại toán tử số hoc, cũng như cách sử dụng chúng để thực hiện các phép toán trong C++ sau bài học này.

Toán tử số học trong C++ là gì

Toán tử số học trong C++ là các toán tử sử dụng để thực hiện các phép tính toán với số trong C++. Có tất cả 5 loại toán tử số học trong C++ như bảng sau đây.

Toán tửVí dụÝ nghĩa
+A + BThêm B vào A
-A -BTrừ B cho A
*A * BNhân A với B
/A / BChia A cho B
%A% BDư của phép chia A cho B

Hai giá trị sử dụng trong tính toán với toán tử số học được gọi là toán hạng trong C++. Bằng cách sử dụng toán tử số học, chúng ta có thể tính toán với các toán hạng, cũng như trả về kết quả của phép tính toán đó.

Ví dụ cụ thể, chúng ta sử dụng các toán tử số học để tính toán với các toán hạng là các số nguyên như sau:

int num = 10 + 4;   // num = 14
int num = 9 - 2; // num = 7
int num = 3 * 8; // num = 24
int num = 7 / 3; // num = 2
int num = 7 % 3; // num = 1

Giống như trên, kết quả của các phép toán sẽ được gán vào biến ở bên trái, thông qua toán tử = trong C++.

Sử dụng toán tử số học trong tính toán số nguyên và số thực

Khi thực hiện phép toán số học trong C++, nếu kiểu của các toán hạng khác nhau thì trước khi tính toán, kiểu giá trị của chúng sẽ được tự động thay đổi, theo quy tắc sau đây:

  1. Nếu có một giá trị thuộc kiểu double, thì giá trị khác kiểu còn lại cũng được chuyển kiểu về double
  2. Nếu có một giá trị thuộc kiểu float, thì giá trị khác kiểu còn lại cũng được chuyển kiểu về float
  3. Nếu có một giá trị thuộc kiểu long, thì giá trị khác kiểu còn lại cũng được chuyển kiểu về long
  4. Nếu không thuộc một trong ba trường hợp trên, thì cả hai giá trị được chuyển về kiểu int

Ví dụ nếu chúng ta thực hiện một phép cộng giữa một số nguyên kiểu int với một số nguyên kiểu int thì sẽ không xảy ra việc tự động đổi kiểu dữ liệu, và kết quả trả về cũng là một số thuộc kiểu int:

10 + 4;      // 14

Tuy nhiên nếu chúng ta thực hiện phép cộng giữa một số nguyên kiểu int với một số thực kiểu double, thì theo quy tắc đầu tiên chương trình sẽ tự chuyển số kiểu int thành số kiểu double, và sau đó thực hiện phép tính double + double. Và kết quả trả về cũng sẽ là một số thuộc kiểu double:

10 + 4.1;      // 14.1

Đặc biệt lưu ý đối với phép chia trong C++, kết quả của một phép chia số thuộc int với số thuộc int cũng sẽ là một số thuộc int. Do vậy dẫu không phải là phép chia hết thì kết quả trả về cũng chỉ là một số int mà thôi.

cout <<10 / 4<< endl; //2

Có thể thấy mặc dù phép chia 10 cho 4 bằng 2.5 ở dạng số thực, nhưng do chúng ta đã chia 2 số int cho nhau, nên kết quả cũng sẽ thu về một số nguyên kiểu int mà thôi.

Với các trường hợp khác như chia số int cho số double, hoặc số double cho số int chẳng hạn, do có sự tự chuyển đổi kiểu dữ liệu về kiểu double, nên kết quả trả về số double mà chúng ta mong muốn như sau:

cout <<10.0 / 4.0<< endl;  // 2.5
cout <<10 / 4.0<< endl; // 2.5
cout <<10.0 / 4<< endl; // 2.5

Bởi vậy, trong phép chia số nguyên cho số nguyên, để có thể thu về kết quả mong muốn, chúng ta cần lưu ý phải ép kiểu dữ liệu từ int sang double của một trong hai số nguyên đó như dưới đây:

int num1 = 10;
int num2 = 4;

cout << num1 / (double)num2 << endl;
//2.5

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về toán tử số học trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.