Xem thêm

Số tự nhiên và Số chấm động trong C++ (Integer, Floating point)

Huy Erick
Giới thiệu Trong bài viết trước đó, chúng ta đã tìm hiểu về biến trong ngôn ngữ lập trình C++ và cách thức hoạt động cũng như một số kinh nghiệm về biến cơ bản....

Giới thiệu

Trong bài viết trước đó, chúng ta đã tìm hiểu về biến trong ngôn ngữ lập trình C++ và cách thức hoạt động cũng như một số kinh nghiệm về biến cơ bản. Tuy nhiên, trong C++ vẫn còn rất nhiều kiểu dữ liệu khác nhau. Trong bài viết này, chúng ta sẽ tìm hiểu về hai kiểu dữ liệu mới: Số nguyên và Số chấm động trong C++.

Tổng quan về kiểu dữ liệu cơ bản trong C++

Trước khi đi vào chi tiết, hãy tìm hiểu về kiểu dữ liệu cơ bản trong C++. Kiểu dữ liệu của một biến sẽ quyết định kích thước và loại thông tin mà biến đó có thể lưu trữ. Khi bạn khai báo một biến, một vùng trong bộ nhớ sẽ được dành cho biến đó.

Dưới đây là bảng liệt kê những kiểu dữ liệu cơ bản trong C++:

Số tự nhiên và Số chấm động trong C++

Kiểu số nguyên (Integer)

Số nguyên là các số dương (1, 2, 3, ...) hoặc số âm (-1, -2, -3, ...) và số 0. C++ cung cấp 5 kiểu số nguyên cơ bản để sử dụng:

  • char: kiểu số nguyên dùng để lưu trữ các ký tự.
  • unsigned char: kiểu số nguyên không dấu, lưu trữ các số dương từ 0 đến 255.
  • short: kiểu số nguyên ngắn, lưu trữ các số từ -32,768 đến 32,767.
  • unsigned short: kiểu số nguyên ngắn không dấu, lưu trữ các số từ 0 đến 65,535.
  • int: kiểu số nguyên, lưu trữ các số từ -2,147,483,648 đến 2,147,483,647.
  • unsigned int: kiểu số nguyên không dấu, lưu trữ các số từ 0 đến 4,294,967,295.
  • long: kiểu số nguyên dài, lưu trữ các số từ -2,147,483,648 đến 2,147,483,647.
  • unsigned long: kiểu số nguyên dài không dấu, lưu trữ các số từ 0 đến 4,294,967,295.

Chi tiết về tính chất ký tự của char sẽ được nói trong phần tiếp theo. Trong mục này, bạn có thể xem char như một kiểu số nguyên bình thường.

Sự khác nhau giữa các kiểu số nguyên trên nằm ở kích thước. Kiểu có kích thước lớn hơn có thể lưu trữ các số nguyên lớn hơn. Vùng giá trị của một kiểu số nguyên được xác định bởi kích thước và dấu của nó.

Số chấm động (Floating point numbers)

Trong C++, kiểu số chấm động đại diện cho các số thực (ví dụ: 69.9696, 3.14159, 0.00001, ...) và được sử dụng để lưu trữ các số rất lớn hoặc rất nhỏ. Cấu trúc lưu trữ bên trong của số thực được thiết kế theo chuẩn số chấm động của IEEE.

Có 3 kiểu số chấm động khác nhau trong C++:

  • float: kiểu số chấm động đơn, chính xác đến 7 chữ số thập phân.
  • double: kiểu số chấm động đôi, chính xác đến 15 chữ số thập phân.
  • long double: kiểu số chấm động kép, chính xác đến 19 chữ số thập phân.

Cách để định nghĩa một biến số chấm động:

float fVarName;
double dVarName2;
long double ldVarName3;

Một điều thú vị là số chấm động được lưu trữ dưới hệ nhị phân, điều này có nghĩa là một số chấm động có thể không thể biểu diễn chính xác như một giá trị nhị phân hữu hạn do sự lỗi làm tròn số chấm động.

Trong C++, khi xuất một số chấm động, mặc định std::cout chỉ hiển thị 6 chữ số thập phân. Những số ngoài phạm vi này sẽ bị cắt bỏ và làm tròn lên 1 đơn vị nếu số bị cắt sau nó lớn hơn 5, hoặc số đó có thể được chuyển sang ký hiệu khoa học trong vài trường hợp tùy thuộc vào từng trình biên dịch.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về hai kiểu dữ liệu cơ bản trong C++: Số nguyên và Số chấm động. Chúng ta đã biết được các kinh nghiệm và lỗi thường gặp khi sử dụng kiểu dữ liệu này. Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu về kiểu dữ liệu khá quan trọng trong lập trình: Kiểu ký tự trong C++.

Nếu bạn có bất kỳ khó khăn hoặc thắc mắc nào, hãy để lại bình luận hoặc góp ý của bạn dưới đây để chúng ta có thể cùng nhau phát triển bài viết tốt hơn.

1